嗨,有人可以帮助我构建一个扩展的 addlashes 函数,该函数将与对象和数组的混合组合一起使用。例如我有这个对象:
$object = new stdClass;
$object2 = new stdClass;
$object2->one = "st'r2";
$object3 = new stdClass;
$object3->one = "st'r3";
$object->one = "s'tr";
$object->two = array($object2);
$object->obj = $object3;
我想让这个对象转义并具有相同的结构。我已经开始了一些实验,我得到了这样的东西:
function addslashes_extended($arr_r){
if(is_array($arr_r)){
foreach ($arr_r as $key => $val){
is_array($val) ? addslashes_extended($val):$arr_r[$key]=addslashes($val);
}
unset($val);
}else if(is_object($arr_r)){
$objectProperties = get_object_vars($arr_r);
foreach($objectProperties as $key => $value){
is_object($value) ? addslashes_extended($value):$arr_r->{$key}=addslashes($value);
}
}
return $arr_r;
}
但这行不通,我认为我必须通过引用传递,但我不知道如何,其他解决方案也很好,在此先感谢!