foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

PHP エンコーディング変換関数 conv_enc()

PHP 標準の mb_convert_encoding() では連想配列の変換ができないので作ってみた。

<?php
function conv_enc($a, $to, $from = null){
    $to = $to ? $to : mb_internal_encoding();
    $from = $from ? $from : mb_internal_encoding();
    
    $keys = array_keys($a);
    for($i = 0, $n = sizeof($keys); $i < $n; $i++){
        $a[$keys[$i]] = is_array($a[$keys[$i]])
            ? conv_enc($a[$keys[$i]], $to, $from)
            : mb_convert_encoding($a[$keys[$i]], $to, $from);
    }
    return $a;
}
?>