関数 mb_strlen
関数 mb_strlen は、マルチバイトエンコーディング(例:UTF-8)を正しく扱い、文字列内の文字数を返します。strlen とは異なり、複数バイトを占める文字を正しく数えます。第一引数に文字列、第二引数(オプション)にエンコーディングを受け取ります。
構文
mb_strlen(string, [encoding]);
例
UTF-8における文字列の長さの計算:
<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
コード実行結果:
6
例
キリル文字に対する strlen との比較:
<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
コード実行結果:
strlen: 8
mb_strlen: 4
例
エンコーディングの指定なしでの使用
(エンコーディングは mb_internal_encoding から取得されます):
<?php
echo mb_strlen('abcde');
?>
コード実行結果:
5