strlen/mb_strlen関数の使い方(文字列の長さを取得)

PHP で用意されている組み込み関数の一つである strlen 関数および mb_strlen 関数の使い方です。 strlen 関数は引数に指定した文字列の長さをバイト数で取得します。また mb_strlen 関数は文字列の長さを文字数で取得します。

(2022 年 09 月 28 日公開 / 2022 年 09 月 28 日更新)

strlen関数の書式と基本的な使い方

strlen 関数は次のように定義されています。

strlen
int strlen(string string)
引数に指定した文字列の長さを取得します。バイト数での取得となります
ので半角1文字で1バイト、全角1文字で2バイトとなります。

引数:
  string  対象の文字列
返り値:
  文字列のバイト数

半角文字と全角文字の場合の例としては下記のようになります。

strlen('abc') --> 3
strlen('あいう') --> 6
strlen('abcあいう') --> 9

バイト数ではなく文字数を取得したい場合には「mb_strlen」関数を使います。半角文字も全角文字も1文字は1文字として扱います。

mb_strlen
int mb_strlen(string str [, string encoding])
引数に指定した文字列の長さを取得します。文字数での取得となります
ので半角1文字も全角1文字も1文字となります。

引数:
  string  対象の文字列
  encoding  対象の文字列の文字コード
返り値:
  文字列の文字数
サンプルコード

では実際に試してみます。

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$str1 = 'abcde';
$str_len1 = strlen($str1);
$str_mblen1 = mb_strlen($str1);

$str2 = '10時20分';
$str_len2 = strlen($str2);
$str_mblen2 = mb_strlen($str2);

print($str1.' の文字列の長さは'.$str_len1.'です<br>');
print($str1.' の文字数は'.$str_mblen1.'です<br><br>');

print($str2.' の文字列の長さは'.$str_len2.'です<br>');
print($str2.' の文字数は'.$str_mblen2.'です<br><br>');

?>
</body>
</html>

上記ファイルを Web サーバに設置しブラウザ経由で見ると下記のように表示されます。

strlenのテスト

-- --

PHP で用意されている組み込み関数の一つである strlen 関数および mb_strlen 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。