PHPでマルチバイト文字列を逆順にする

PHPの命令形でstrrevと言う物が有ります。
これは文字列の並びを反転させるというものですが……

日本語に対応してないじゃん!!

ソース

無いのなら、作ってしまえホトトギスと言うわけで作ってみた。

/* マルチバイト対応strrevメソッド */
function mb_strrev($data,$code){
    $n = mb_strlen($data,$code);
    for ($i = 0; $i < $n; $i++)
        {$r_array[$i] = mb_substr($data,$i,1,$code);}
    $r_array = array_reverse($r_array);
    $data = NULL;
    for ($i = 0; $i < $n; $i++) {$data .= $r_array[$i];}
    return $data;
}

上記をコピペして張れば使えると思います。思うだけ。
ちなみに、メソッドの呼び出しには文字列と、文字コードを必要とします。

$sakura = "ぽややん";
$tomoyo = mb_strrev($sakura,"UTF-8"); #2つめの引数は環境に合わせた文字コード
echo $tomoyo;

画面には『んややぽ』と表示されます。

尚、プログラムを読めれば分かりますがなんか面倒なことをしています。
まぁ、自分用に作った物なので、使いたい方はどうぞ。

Nintendo NEXUS Ura