【PHP入門2021】日本語全角文字列の文字数の合計をカウントする関数mb_strlenの使い方

PHP

mb_strlen関数の基本構文

与えられた文字列の文字列の長さ(文字数)の合計をカウントし取得します。
mb_strlenはstrlenの全角日本語などのマルチバイト対応版なのでマルチバイト文字も1文字と数えます。

strlenがバイト数の合計を返すのに対し、mb_strlenは人間の数えのと同じ文字数を返します。

mb_strlen ( string $string , string|null $encoding = null )

パラメータ

名前 初期値 説明
string $string null 長さ(文字数)を取得する対象の文字列
string $encoding null エンコーディング文字列
例) SJIS, SJIS-win, ISO-2022-JP, JIS, UTF-8

返り値(戻り値)

説明
int 文字列の文字数の合計

mb_strlen関数の使い方

strlenで文字数・バイト数を取得するサンプルソースコード

$str = "abcde";
echo strlen($str) . PHP_EOL; //5と出力
echo mb_strlen($str) . PHP_EOL; //5と出力

strlenで日本語のバイト数を取得するサンプルソースコード

日本語のバイト数は使用している文字コードによって違います。
UTF-8は1文字3バイト、Shift_JIS(SJIS)なら1文字2バイトです。

$str = "あいうえお"; // 日本語(UTF-8マルチバイト)
echo strlen($str) . PHP_EOL; //15と出力
echo mb_strlen($str) . PHP_EOL; //5と出力
echo mb_strlen($str, "UTF-8") . PHP_EOL; //5と出力

strlenとmb_strlenの違い

strlenはバイト数を求めるものなのでバイト容量制限などがあるときなどにチェックしたいとき等に使えます。単純にmb_strlenは単純に文字の数を求めたいときに使います。

関連する関数

strlen

コメント

タイトルとURLをコピーしました