【PHP】文字数を取得することができるmb_strlen関数を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事では、 PHPでマルチバイトの文字列でも文字数を取得することができるmb_strlen関数について

  • mb_strlen関数とは
  • mb_strlen関数を使ったサンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
PHPのバージョン 8.0.3
XAMPPのバージョン 8.0.3

PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。

mb_strlen関数とは

mb_strlen関数とは、引数に指定された文字列の文字数をintで返す関数です。
日本語のようなマルチバイトの文字列でも正確に文字数を取得することができます。
マルチバイトとは、1文字を表すのに2バイト以上のデータを使う文字のことです。
mbはマルチバイトを意味しています。

mb_strlen関数の引数は以下のように指定します。

第一引数(必須) 文字数を取得したい文字列
第二引数(任意) 文字エンコーディング

mb_strlen関数の基本的な使い方は以下です。


上記の例だと、変数resultには4が返されます。

第二引数に指定できる文字エンコーディングでよく使われるもの

  • UTF-8
  • ASCII
  • EUC-JP
  • SJIS

の4種類です。
第二引数には、下記のように指定します。

必要に応じて、第二引数は指定してください。

では、次の章で実際に使ってみます。

mb_strlen関数を解説するプログラムの概要

mb_strlen関数を解説するプログラムでは、

  • 英字のみの文字列
  • 日本語のみの文字列

の2種類をmb_strlen関数で文字列の長さを取得し、結果を表示させます。
phpプログラムは

C:\xampp\htdocs

配下に、【mbstrlen.php】というファイル名で格納しています。

PHPサンプルプログラム

実行結果

XAMPPを起動して、【http://localhost/mbstrlen.php】のURLにアクセスします。

XAMPPでPHPの動かし方については、こちらの記事をご参考ください。

英字でも日本語でも正しく文字列の長さが取得できていることが確認できました!

まとめ:mb_strlen関数を使ってみよう!

以上がmb_strlen関数についての解説でした!

mb_strlen関数は使いようによっては、いろんなことができます。
こちらもご参考ください。

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

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