我需要同时stripslashes
数组的所有项目。
知道我该怎么办?
答案 0 :(得分:23)
foreach ($your_array as $key=>$value) {
$your_array[$key] = stripslashes($value);
}
或许多级别数组使用此:
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);
print_r($array);
答案 1 :(得分:11)
对于单维数组,array_map
将执行:
$a = array_map('stripslashes', $a);
对于多维数组,您可以执行以下操作:
$a = json_decode(stripslashes(json_encode($a)), true);
最后一个可用于修复magic_quotes,请参阅this comment。
答案 2 :(得分:5)
您可以使用array_map
:
$output = array_map('stripslashes', $array);
答案 3 :(得分:4)
我找到了这个类/函数
<?php
/**
* Remove slashes from strings, arrays and objects
*
* @param mixed input data
* @return mixed cleaned input data
*/
function stripslashesFull($input)
{
if (is_array($input)) {
$input = array_map('stripslashesFull', $input);
} elseif (is_object($input)) {
$vars = get_object_vars($input);
foreach ($vars as $k=>$v) {
$input->{$k} = stripslashesFull($v);
}
} else {
$input = stripslashes($input);
}
return $input;
}
?>
这个blog它确实对我有帮助,现在我可以通过相同的函数传递变量,数组和对象......
答案 4 :(得分:0)
递归解析数组,使用此解决方案,您不必复制数组
function addslashes_extended(&$arr_r){
if(is_array($arr_r))
{
foreach ($arr_r as &$val){
is_array($val) ? addslashes_extended($val):$val=addslashes($val);
}
unset($val);
}
else
$arr_r=addslashes($arr_r);
return $arr_r;
}
答案 5 :(得分:-1)
function Recursiver_of_Array($array,$function_name=false){
//on first run, we define the desired function name to be executed on values
if ($function_name) { $GLOBALS['current_func_name']= $function_name; } else {$function_name=$GLOBALS['current_func_name'];}
//now, if it's array, then recurse, otherwise execute function
return is_array($array) ? array_map('Recursiver_of_Array', $array) : $function_name($array);
}
代码:
+ (NSMutableDictionary *)updateQuery:(NSMutableDictionary *)currentQuery toSearchAfterAccountPaginationSequence:(NSString *)accountPaginationSequence {
//try1
NSMutableDictionary *mutableQuery = currentQuery.mutableCopy;
NSMutableDictionary *where = mutableQuery[@"where"].mutableCopy;
where[@"account_pagination_sequence"] = @{ @"lt" : accountPaginationSequence };
mutableQuery[@"where"] = where;
return mutableQuery;
}