多次元配列をエンコードする関数を作るには?
多次元配列でも文字コードのエンコードができる関数を
作ろうとしていますが、エラーで躓いています。
自分自身の関数を再帰で呼び出しているので、array_map関数上?
引数が1つしか持てないので、$valueを array($ary, "SJIS", "EUC-JP")として渡しています。
これを実行すると、以下のエラーになります。
何かよい方法はありますか?
PHP Notice: Undefined offset: 0 in C:\test.php on line 10
function mb_convert_encoding_deep($value)
{
//var_dump($value);
if( is_array($value) ){
if( is_array($value[0]) ){
array_map(__FUNCTION__, $value);
}else{
$value[0] = mb_convert($value[0], $value[1], $value[2]);
}
}else{
die("ここは通過しないと思いますが自信なし");
}
return $value;
}
$ary = mb_convert_encoding_deep( array($ary, "SJIS", "EUC-JP") );
array_mapの用法でも間違っているのでしょうか?