function sanitize($value) { if(is_array($value)){ $sanitized_array = array(); foreach($value as $k => $v){ $sanitized_array[$k] = sanitize($v); } return $sanitized_array; } else { return htmlspecialchars($value); } }
ちなみに、再帰関数とは…
関数の中で自分自身を再帰呼び出し(再帰コール)するという点が通常の関数の挙動と異なる。 再帰関数で重要なポイントは、 『自分自身を呼び出す』 というところに着目されがちだが、同じくらい重要な事として、 『自分自身を常に呼び出すわけではない』 ということだ。 再帰関数は再帰呼び出しを実行する「再帰部分」と、再帰呼び出しを実行しない「基本部分」から成り立つ。 上記例の sanitize関数 でいえば、if内が「再帰部分」で、else内が「基本部分」である。