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」の表示数が異なっていることを確認してください。