//有一個需求,陣列裡面所有參數都要被一個函式處理過。
//此例是 htmlspecialchars
$tmpary['a']['a1'] = 'a1v';
$tmpary['a']['a2'] = 'a2v';
$tmpary['b'] = 'bv';
$tmpary = init_htmlargvfilter($tmpary); //把外來參數,做個過濾。
init_pre_printr($tmpary);
//fn zone-------------------------------------------------------
function init_htmlargvfilter(&$tmpary) {
if (is_array($tmpary)) {
foreach ($tmpary as $k => $v) {
if (is_array($v)) {
//於此作遞迴動作
$tmpary[$k] = init_htmlargvfilter($v);
} else {
$tmpary[$k] = htmlspecialchars($v);
}
}
}
return $tmpary;
}
exit;
//後來寫了一個函式,可以遞迴這樣子處理很多東西
$_REQUEST['a']['a1'] = 'a1v';
$_REQUEST['a']['a2'] = 'a2v';
$_REQUEST['b'] = 'bv';
$_REQUEST = init_array_scan($_REQUEST, 'htmlspecialchars'); //把外來參數,做個過濾。
init_pre_printr($_REQUEST);
//fn zone-------------------------------------------------------
function init_array_scan($tmpary, $user_func) {
if (is_array($tmpary)) {
foreach ($tmpary as $k => $v) {
if (is_array($v)) {
$tmpary[$k] = init_array_scan($v, $user_func);
} else {
$tmpary[$k] = call_user_func($user_func, $v);
}
}
}
return $tmpary;
}
exit;
2012年3月23日 星期五
php htmlspecialchars 遞迴處理
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言