PHP: 文字列の長さを取得する mb_strlen(), strlen()

文字列長 mb_strlen()

PHPで文字列の長さを調べる場合はmb_strlen()関数を使います。
マルチバイト文字を含まないシングルバイト文字だけの場合はstrlen()関数でも 同じ結果を取得できます。

書式
mb_strlen(文字列)

strlen(文字列)

mb_strlen()の戻り値は文字数です。 strlen()の戻り値はバイト数ですが、シングルバイト文字のみの場合は文字数と一致します。

次のコードでは、シングルバイト文字、マルチバイト文字、空文字、nullを 変数に格納しています。 そして4つの変数のバイト数、文字数をstrlen()、mb_strlen()で求めます。

$s1 = "abcde";
$s2 = "あいうえお";
$s3 = "";
$s4 = null;

echo strlen($s1) . "\n";     // 5
echo mb_strlen($s1) . "\n";  // 5

echo strlen($s2) . "\n";     // 15
echo mb_strlen($s2) . "\n";  //  5

echo strlen($s3) . "\n";     // 0
echo mb_strlen($s3) . "\n";  // 0

echo strlen($s4) . "\n";     // 0
echo mb_strlen($s4) . "\n";  // 0

マルチバイト文字を使った「$s2」の表示数が異なっていることを確認してください。