今日の人気記事

  1. HTML内でPHPスクリプトを実行 - 埋め込み
  2. PHP + Apache 環境の構築
  3. PHPのダウンロードとインストール - Windows環境
  4. PHP + Apacheのインストール - Linux環境 - CentOS
  5. 外部コマンドを実行 - exec()、system()

文字列の幅を取得 - 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)
スポンサーリンク

関連記事と広告