今日の人気記事

  1. ファイル名を変更 - ファイルを移動 - rename()
  2. PHP関数リファレンス
  3. ファイルを削除 - unlink()
  4. 変数の型
  5. ヒアドキュメント

文字列の長さを取得 - strlen()、mb_strlen()

当ページのリンクには広告が含まれています。

Webプログラミング言語PHPで、指定した文字列の長さを取得するstrlen関数、マルチバイト版のmb_strlen関数を紹介します。

strlen関数

int strlen ( string $string )
指定した文字列の長さを取得します。
マルチバイト文字列の長さは正しく見積もれません。
日本語などの長さを取得したい場合は、後述するmb_strlen関数を使います。
引数
$string
長さを取得する文字列を指定します。
返り値
指定した文字列の長さをint型で返します。

サンプルコード

指定した文字列の長さを取得するサンプルコードです。

strlen( 文字列 )
<?php
$string1 = "abc";
var_dump(strlen($string1));

$string2 = "入門だよ";
var_dump(strlen($string2));
?>

実行結果です。指定した文字列「abc」の長さは正しく取得されていますが、日本語の文字列「入門だよ」は正しく取得されていないことがわかります。日本語などのマルチバイト文字列の長さを正しく見積もる場合は、mb_strlen関数を使いましょう。

int(3)
int(12)

mb_strlen関数

int mb_strlen ( string $string [, string $encoding ] )
指定した文字列の長さを取得します。
マルチバイト文字列の長さも正しく取得します。
引数
$string
長さを取得する文字列を指定します。
$encoding
エンコーディングを指定します。
日本語の場合、"UTF-8"、"EUC-JP"、"SJIS"を指定します。
エンコーディングの指定を省略した場合は、 内部エンコーディングを使用します。
返り値
指定した文字列の長さをint型で返します。

内部エンコーディングの設定はこちら » 日本語環境の設定 - mbstring

サンプルコード

指定した文字列(UTF-8)の長さを取得するサンプルコードです。

mb_strlen( 文字列, "UTF-8" )
<?php
$string = "abc";
var_dump( strlen( $string ) );

$string1 = "入門だよ";
var_dump( mb_strlen( $string1, "UTF-8" ) );

$string2 = "PHP入門だよ";
var_dump( mb_strlen( $string2, "UTF-8" ) );
?>

実行結果です。バイト文字、マルチバイト文字、それらが混ざった文字列の長さが正しく取得されています。

int(3)
int(4)
int(7)

文字列 の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列を大文字 / 小文字に変換 - strtoupper()、strtolower() - mb_strtoupper()、mb_strtolower()
  3. 指定した文字列の出現回数をカウント - substr_count()
  4. 文字列の長さを取得 - strlen()、mb_strlen()
  5. 文字列のエンコーディングを変換 - mb_convert_encoding()
  6. 区切り文字列を配列に変換 - explode()
  7. 指定した範囲の文字列を置換 - substr_replace関数
  8. PHP関数リファレンス

関連記事(一部広告含む)