strlenは文字列の長さを取得する関数で戻り値はバイト数らしい。
そして、mb_strlenはマルチバイトを考慮して文字列の長さを取得できるそうだ。
こんな感じ。
print(mb_strlen("あ"));
//出力 1
print(mb_strlen("あいう"));
//出力 3
けれど、ローカルのxamppでは以下の値を取得してしまった。
print(mb_strlen("あ"));
//出力 3
print(mb_strlen("あいう"));
//出力 9
phpの内部エンコーディングと合わない時にそうなるみたいで、
解決法はmb_strlen()関数の第2引数に文字エンコードを指定すれば良いみたい
print(mb_strlen("あ","utf-8"));
//出力 1
あーびっくりした。
参考 / 21. mb_strlen()関数の落とし穴 – PHP TIPS:ITpro