0
多次元配列と文字列ノードをフィルタ処理するにはどうすればよいですか?私はPOSTを介してアプリケーションに入ってくるデータを簡単に消毒して、これが本当に便利だと思います。n-deep配列をフィルタリングして文字列ノードをフィルタリングする方法 - PHP
多次元配列と文字列ノードをフィルタ処理するにはどうすればよいですか?私はPOSTを介してアプリケーションに入ってくるデータを簡単に消毒して、これが本当に便利だと思います。n-deep配列をフィルタリングして文字列ノードをフィルタリングする方法 - PHP
を使用する必要があります。例えば:
function doFilter($arr) {
foreach ($arr as $key => $value) {
if (is_string($value)) {
$arr[$Key] = sanitize($value);
} else if (is_array($value)) {
$arr[$key] = doFilter($value);
}
}
return $arr;
}
function sanitize($str) {
// Perform necessary steps to sanitize $str
return $str;
}
あなたは、配列を横断し、その文字列の要素をフィルタリングするために再帰関数を使用することができますRecursion
function sanitizePost($post) {
if (is_array($post)){
foreach ($post as $k => $p) {
$post[$k] = sanitizePost($p);
}
} else {
$post = sanatizeStringFunction($post); // may be use regex or something
}
return $post;
}
[アレイ内のアレイとのForeach]の(http://stackoverflow.com/questions/5593687/exclude-items-in-iterator)イテレータの項目を除外] – Gordon
可能重複の可能性のある重複(http://stackoverflow.com/questions/5524227/php-foreach-with-arrays-within-arrays/5524267#5524267) – Gordon
代替http://php.net/manual/en/function.filter-input-array FILTER_CALLBACKを使用した.php – Gordon