用递归addslashes函数转义数组
有个一个数组,可能是多维的,里面有些值带有特殊符号 比如“ 我用递归加addslashes()转义
没有达到效果 帮忙看看哪错了
$arr=array('ii"',array('one'=>'ec"','two'=>5));
function t(&$arr){
foreach($arr as $v){
if(is_string($v)){
$arr[]=addslashes($v);
}else{
t($v);
}
}
}
t($arr);
echo "
";<br />print_r($arr);<br />echo '
$arr=array('ii"',array('one'=>'ec"','two'=>5),'aa"a');
function t(& $arr){
foreach($arr as $k => $v){
if(is_string($v)){
$arr[$k] = addslashes($v);
}else{
$arr[$k] = t($v);
}
}
return $arr;
}
t($arr);
echo "";<br />print_r($arr);<br />echo '
登录后复制';
$arr = array('ii"',array('one'=>"ec'",'two'=>5));<br />array_walk_recursive($arr, function(&$v) { $v = addslashes($v);} );<br />print_r($arr);<br />Array<br />(<br /> [0] => ii"<br /> [1] => Array<br /> (<br /> [one] => ec'<br /> [two] => 5<br /> )<br /><br />)<br /><br />
<br />function t(&$arr){<br /> foreach($arr as $key=>$v){<br /> if(is_string($v)){<br /> $arr[$key]=addslashes($v);<br /> }else{<br /> t($arr[$key]);<br /> }<br /> }<br />}<br />
<br />function t(&$arr){<br /> foreach($arr as $key=>$v){<br /> if(is_array($v)){<br /> t($arr[$key]);<br /> }else{<br /> $arr[$key]=addslashes($v);<br /> }<br /> }<br />}<br /> <br />$arr=array('ii"',array('one'=>'ec"','two'=>'5'));<br />t($arr);<br /><br />print_r($arr);<br />
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号