PHP数组和字符串转义函数求解释

Marser_cn 发布于 2012/07/25 10:44
阅读 714
收藏 0
PHP

函数如下,此函数可以同时转义数组或是字符串,但是其中有一点不明:在foreach循环里,"$val"为什么需要是引用类型呢?

<?php

function  addslashesextended (& $arr_r )
{
    if(
is_array ( $arr_r ))
    {
        foreach (
$arr_r  as & $val )
            
is_array ( $val ) ?  addslashesextended ( $val ): $val = addslashes ( $val );
        unset(
$val );
    }
    else
        
$arr_r = addslashes ( $arr_r );
}
?>
加载中
0
小囧
小囧

"$val"为什么需要是引用类型呢?  


这个是因为php foreach 每次循环的时候 是把当前单元的值赋值给 $val 就是重新复制了一份内存。  而根据本函数逻辑需要,是想对当前单元的值进行转义的。所以引用就ok了,引用后$val就是当前单元的值了~


Marser_cn
Marser_cn
所噶。。我明白哒。。谢谢。
0
小囧
小囧
<?php

$array = array('a','b','c');

foreach($array as $v) {
	$v .= '_';
}
print_r($array);  //打印的是什么结果?  

小囧
小囧
装b遭雷劈,不知道你听说过没?
威哥
威哥
不知道
返回顶部
顶部