【PHP】
文字列の文字数をカウントする方法
mb_strlen()の使い方
投稿日 2022/10/27 更新日 2022/10/27
こんにちは。IT業界歴3年目の「元木皇天」です。
今回はPHPで文字数をカウントする方法について解説いたします。
環境
OS:MacOS BigSur
MAMP:バージョン5.7
PHP:バージョン7.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()関数を使用する