必見! [PHP入門] 文字列関数mb_strlenとは? 使い方も分かりやすく解説!ます!

PHPにおいて、関数はユーザー定義関数組み込み関数の2種類あります。

mb-strlen関数は文字列の長さを取得することができる関数となっています。

このページではmb-strlen関数とは何か、mb-strlen関数の使い方についてお話していきたいと思います。

最後まで読んで頂ければ、幸いです。

mb_strlen関数は組み込み関数で文字列関数というものに分類されます。

PHPでは「strlen」、「mb_strlen」、「substr」、「str_replace」、「htmlspecialchars」などの文字列関数が数多く存在しています。

文字列関数は膨大な数がありますので、よく使う文字列関数だけを覚えておき、あとは調べらながら進めるといいかと思います。

文字列関数を使用することで文字列を取得したり、変換したり、検索したりと様々なことができます。

文字列関数であるmb_strlen関数を使用してどのようなことができるのでしょうか。

mb_strlen関数を使用することで文字列の長さを取得することができます。

mb_strlen関数の構文は以下の通りです。

int mb_strlen(string $string [, string $encoding])

引数

$string

長さを取得したい任意の文字列のことです。

$encoding

文字列を処理する時に使用するエンコーディング名のことです。

エンコーディング名の例

エンコーディング名の例として「UTF-8」、「Shift-JIS」、「EUC-JP」等が挙げられます。

返り値

int

文字列の長さをint型で取得します。




2.mb_strlen関数のサンプルプログラム

それでは実際にmb_strlen関数を使用してプログラムを見てみましょう。

mb_strlen関数はシングルバイト文字(半角文字)、マルチバイト文字(全角文字)など様々な文字列の長さを取得することができることが「1.mb_strlen関数とは」で分かりました。

mb_strlen関数に似たstrlen関数はマルチバイト文字を取得することができないので注意が必要です。

上記の例をstrlen関数に変えてみましょう。

上記ではシングルバイト文字列($string1、$string2)の長さは取得できていますが、マルチバイト文字列($string3)の長さは正しく取得できませんでした。

マルチバイト文字列($string3)の長さは正しく取得できなかった理由として文字数ではなく、バイト数で返したためです。

エンコーディング名「UTF-8」の場合、1文字は3バイトとなるので、$string3の結果は15となりました。

このようにシングルバイト文字とマルチバイト文字が混在している場合はmb_strlen関数を使用しましょう。




3.PHPをもっと学びたい方へ

最後まで読んで頂きまして、ありがとうございます。

PHPをもっと学びたいという方はいないでしょうか?

上記のように考えている方にオススメの教材があります。

確かな力が身につくPHP「超」入門

この本ではPHPの基礎構文だけでなく、商品管理システムを作りながら、PHPをより実践的に学ぶことができます。

そのため、PHPを一通り学んだ方にオススメできる一冊です。

是非、挑戦してみてはいかがでしょうか?

以下の記事でPHPを学ぶことができるオススメの本をまとめていますので、よかったらご覧になって下さい。

[初心者~中級者向け] PHPを学ぶことができるおすすめの本

Udemy

UdemyではPHPを学ぶことができる講座を多数取り扱っています。

以下の記事でPHPを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

[2021年最新版] Udemy(ユーデミー) おすすめのPHP講座

TechAcademy

TechAcademy [テックアカデミー]ではPHPを学ぶことができます。

無料体験も行っているので是非、体験してみてはいかがでしょうか?

TechAcademyについてまとめた記事もありますので、よかったらご覧になって下さい。

いくら? 悪評は? TechAcademy(テックアカデミー)とは? 口コミもまとめてみました!




4.ポイント

ポイント
  • mb_strlen関数は組み込み関数の文字列関数に分類されます

  • mb_strlen関数はシングルバイト文字とマルチバイト文字が混在している文字列の長さを取得することができます

  • strlen関数はシングルバイト文字のみの文字列の長さを取得することができます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です