今日の人気記事

  1. 変数を文字列型に変換 - strval関数

文字列の幅を取得 - 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. 配列を文字列に変換する - implode()
  3. 文字列が最初に現れる場所を取得 - strpos()、mb_strpos()
  4. 文字列が最後に現れる場所を取得 - strrpos()、mb_strrpos()
  5. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
  6. 文字列をURLエンコード・デコード - urlencode()、urldecode()
  7. PHP関数リファレンス

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