//有一個需求,陣列裡面所有參數都要被一個函式處理過。 //此例是 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)
沒有留言:
張貼留言