>>743
テストしてないけどリカーシブコールを使えばいいような希ガス。
元のコードをざっとしか見ていないんで間違っていたらスマソ。

function serch ($foo) {
 foreach ($foo as $key1 => $key2) {
  if (! is_array($foo[$key1])) {
   $foo[$key1] = htmlspecialchars(mb_convert_encoding($key2,"EUC-JP","UTF-8"));
  } else {
   $foo[$key1] = serch($key2);
  }
 }

 return $foo;
}