【PHP】
文字列の文字数をカウントする方法

mb_strlen()の使い方

投稿日 2022/10/27 更新日 2022/10/27


こんにちは。IT業界歴3年目の「元木皇天」です。

今回はPHPで文字数をカウントする方法について解説いたします。

環境
OS:MacOS BigSur
MAMP:バージョン5.7
PHP:バージョン7.4

やりたいこと

文字列の文字数をカウントする

参考文献

PHPマニュアル - mb_strlen
PHPマニュアル - mb_internal_encoding
独習PHP 第4版

文字列の文字数をカウントする方法

PHPで文字列の文字数をカウントするには「mb_strlen()」関数を使用します。

使い方は以下のような感じです。

mb_strlen('あいうえお');
//結果:5

似ている関数で「strlen()」がありますが、こちらは文字列のバイト数をカウントする関数ですので間違えないようにしてください。

日本語のようなマルチバイト文字を使用する場合は、基本「mb_strlen」を使用するようにしましょう。

補足:文字エンコーディングの指定について

補足ですが、「mb_strlen()」は第二引数に文字エンコーディングを指定することができます。

指定するとその文字エンコーディングにおける文字数をカウントしてくれます。

例えば、以下のように「ascii」を指定すると、5文字の文字列の文字数は「15」と判定されます。

mb_strlen('あいうえお', 'ascii');
//結果:15

「UTF-8」を指定すると、5文字の文字列の文字数は「5」と判定されます。

mb_strlen('あいうえお', 'UTF-8');
//結果:5

また、第二引数を省略した場合や第二引数が「null」の場合は、内部文字エンコーディングを使用して文字数をカウントします。

内部文字エンコーディングは「mb_internal_encoding()」関数を実行すると確認することができます。

※私の環境では「UTF-8」でした。

mb_internal_encoding();
//結果:"UTF-8"

まとめ

PHPで文字列の文字数をカウントするには
mb_strlen()関数を使用する

参考文献・おすすめ文献

PHPマニュアル - mb_strlen

PHPマニュアル - mb_internal_encoding