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

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

この記事では、 PHPで文字列の幅を取得することができるmb_strwidth関数について

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

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

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

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

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

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

mb_strwidth関数とは

mb_strwidth関数とは、引数に指定された文字列の幅をintで返す関数です。
半角文字は1、全角文字は2として数えます。

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

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

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

上記の例だと、変数resultには10が返されます。
第二引数に指定できる文字エンコーディングでよく使われるもの

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

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

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

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

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

mb_strwidth関数を解説するプログラムでは、文字としては同じであるが

  • 全角の文字列
  • 半角の文字列

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

C:\xampp\htdocs

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

PHPサンプルプログラム

実行結果

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

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

同じ文字でも全角半角で異なった文字列の幅が取得できていることが確認できました!

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

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

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

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

コメント

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