【php】filter_varで再帰処理
問題
配列とか、配列の配列とか、配列の配列の配列などの、各要素を処理するのって、再帰する関数を定義して対応するしかないの?

答え
例えば、多次元配列の各要素をaddslashesする場合、
自前で関数を用意すると以下のような形
//定義
function addslashes_deep($value)
{
return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);
}
//使う
$b = addslashes_deep($a);
filter_var を使うと以下のように関数定義不要。
$b = filter_var($a, FILTER_CALLBACK, ['options' => 'addslashes']);
メモ
古いphp環境では filter_varが使えないので注意。