PHP入門 文字列関数 文字列の長さを取得する(mb_strlen関数)

mb_strlen関数は、与えらえた文字列の長さを取得します。

構文:mb_strlen関数

mb_strlen(string $string[, ?string $encoding]):int
$string:対象の文字列
$encoding:使用する文字エンコーディング

引数$encodingは、文字列を処理する際に利用する文字エンコーディング名です。個々の関数で明示してもかまいませんが、省略時には、default_charsetパラメータで設定した既定の文字コードが使われます。mb_strlen関数は、日本語(マルチバイト文字)も正しく1文字としてカウントします。

例:

<?php 
  $str  = '本の国123abc';
  print mb_strlen($str);
実行結果
実行結果
英数字(半角文字)であれば1文字は1バイトで表されるので、問題ありません。しかし、日本語(マルチバイト文字)の1文字が何バイトで表されるかは、文字エンコーディングによって異なります。Shift-JISであれば1文字2バイト、UTF-8であれば1文字3バイトです。日本語混在の文字を使う場合は、マルチバイト対応の関数(mb_から始まる関数)を使用します。