foreach(array('_COOKIE', '_POST', '_GET') as $_request) 
{
foreach($$_request as $_key => $_value) 
{
$_key{0} != '_' && $$_key = my_addslashes($_value); //这个表达式看不明
                                                                    //my_addslashes自定义的过滤函数
}
}大括号是括号变量, 怎么这里括个 0 ? 那条公式好像三元又不是 ?  究竟什么意思 ?

解决方案 »

  1.   

    哦,还有个问题呢
    a && b等价于if(a) b
    因为&&只有在a成功才会执行b
      

  2.   


    为什么不用if(a) b 而要搞这套东东 ?  看了不习惯
      

  3.   

    我猜,从解析上来说a && b是一条语句,if(a) b则是一个结构,要先判断再执行,性能上会好一点
      

  4.   

    foreach(array('_COOKIE', '_POST', '_GET') as $_request) 
    {
        foreach($$_request as $_key => $_value) 
        {
             
            $_key{0} != '_' && $$_key = my_addslashes($_value);        //你看得明上面这句话是什么意思吗 ?  
            //他的功能是过滤get, post, cookie的防注入, 什么要判断第一个字符不等 '_' 这个时, 
            //要赋值变量$$_key
            //如果单凭过滤, 应该这样才是, 如下 :         $$_request[$_key] = my_addslashes($_value);     }
    }
      

  5.   

    想想看这样的情况xx.php?_GET=xx&_POST=yy&_COOKIE=zz,如果不判断他的结果会是什么