今日の人気記事

  1. 変数かNULLかどうかを確認 - is_null関数

文字列の幅を取得 - mb_strwidth()

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

Webプログラミング言語PHPで、指定した文字列の幅を取得するmb_strwidth関数を紹介します。

mb_strwidth関数

int mb_strwidth ( string $string [, string $encoding ] )
指定した文字列の幅を取得します。
引数
$string
幅を取得する文字列を指定します。
$encoding
エンコーディングを指定します。
エンコーディングの指定を省略した場合は、 内部エンコーディングを使用します。
返り値
指定した文字列の幅を返します。
マルチバイト文字はバイト文字の倍の幅を返します。

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

サンプルコード

指定した文字列の幅を取得するサンプルコードです。バイト文字、マルチバイト文字、バイト文字とマルチバイト文字を混合した文字列の幅を取得しています。

mb_strwidth( 文字列 )
mb_strwidth( 文字列, エンコーディング )
<?php
/* 文字列の幅を取得 */
//バイト文字
$string = "PHP";
var_dump(mb_strwidth($string));

//マルチバイト文字
$string = "プログラミング入門";
var_dump(mb_strwidth($string, "UTF-8"));

//混合
//混合
$string = "PHPプログラミング入門";
var_dump(mb_strwidth($string, "UTF-8"));
?>

実行結果です。バイト文字「PHP」は、文字列の幅が「3」。マルチバイト文字「プログラミング入門」は、文字数「9」、文字列の幅が「18」。混合は「PHP」の文字列の幅が「3」、「プログラミング入門」の文字列の幅が「18」なので、合わせて「21」になっています。

int(3)
int(18)
int(21)

文字列 の人気記事

  1. 文字列の長さを取得 - strlen()、mb_strlen()
  2. バイナリデータを16進数に変換 - bin2hex()
  3. ASCIIコードを特定の文字に変換 - chr()
  4. 文字列の最初の文字を大文字 / 小文字に変換 - ucfirst()、lcfirst()
  5. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()

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