假设我想修剪通过POST($_POST
)进入系统的所有值
或者,甚至应用更复杂的过滤器
有没有内在的方法可以做到这一点(Post也可以是数组的数组…)
我确实有一个引导文件,我目前使用array_walk_recursive
或类似的东西进行引导。
function trim_array(&$elm){
if(is_string($elm)){
$elm=trim($elm);
}
}
array_walk_recursive($_POST,'trim_array');
function recursive_trim($arr) {
foreach($arr as $k => $v) {
if(is_string($v)) {
$arr[$k] = trim($v);
} else if(is_array($v)) {
recursive_trim($arr[$k]);
}
}
}
recursive_trim($_POST);
对于修剪值,我肯定会使用您想要的方法-array_walk_recursive
,但请确保不要修剪应该保持不变的值,例如密码。
对于更复杂的过滤器,我想说,这取决于情况。有时你可以只使用array_walk_recursive
,但有时你不能。
正如您所提到的,array_walk_recursive
是一个很好的使用方法。另一个是call_user_func
,我更喜欢使用它。