递归处理提交数据

80酷酷网    80kuku.com

  递归|数据

<?php
/**
 * 递归处理提交数据
 *
 * param   string|array     $data    提交数据
 * return  string|array
 */
define("PHP_MAGIC_GPC",get_magic_quotes_gpc());
function rAddSlashes(&$data)
{
    // 这里用到了之前定义的常量
    if(!PHP_MAGIC_GPC)
    {
        return is_array($data)?array_map('rAddSlashes',$data):addslashes($data);
    }
    else
    {
        Return $data;
    }
}
/*
看明白了没有。没有看明白的话我就讲讲,看明白了也不妨向下看看。
一般说来,对于提交的数据都是一维数组,但是也不排除多维的情况,比如多选项,对于cookie就有更多的可能是多维了,因此我们不可能把任何的提交都foreach来降维进行处理,这里我们可以用递归来进行这项工作。array_map函数在这里可是居功至伟,用它回调rAddSlashes本身来完成递归,简洁明快。此函数一次性将数据中的特殊字符进行了转义,不管其有多少维。我们可以这样来用它

 CODE:
$post = rAddSlashes($_POST);
 */
?>



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: