文字列の幅を返す

# mb_strwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strwidth — 文字列の幅を返す

### 説明

function mb_strwidth(string `$string`, ?string `$encoding` = `null`): int

文字列 `string` の幅を返します。 半角文字は `1` として、 全角文字は `2` として数えます。 東アジアの文字の長さに関する詳細は » http://www.unicode.org/reports/tr11/ を参照ください。

全角文字は次のとおりです。 `U+1100`-`U+115F`、 `U+11A3`-`U+11A7`、 `U+11FA`-`U+11FF`、 `U+2329`-`U+232A`、 `U+2E80`-`U+2E99`、 `U+2E9B`-`U+2EF3`、 `U+2F00`-`U+2FD5`、 `U+2FF0`-`U+2FFB`、 `U+3000`-`U+303E`、 `U+3041`-`U+3096`、 `U+3099`-`U+30FF`、 `U+3105`-`U+312D`、 `U+3131`-`U+318E`、 `U+3190`-`U+31BA`、 `U+31C0`-`U+31E3`、 `U+31F0`-`U+321E`、 `U+3220`-`U+3247`、 `U+3250`-`U+32FE`、 `U+3300`-`U+4DBF`、 `U+4E00`-`U+A48C`、 `U+A490`-`U+A4C6`、 `U+A960`-`U+A97C`、 `U+AC00`-`U+D7A3`、 `U+D7B0`-`U+D7C6`、 `U+D7CB`-`U+D7FB`、 `U+F900`-`U+FAFF`、 `U+FE10`-`U+FE19`、 `U+FE30`-`U+FE52`、 `U+FE54`-`U+FE66`、 `U+FE68`-`U+FE6B`、 `U+FF01`-`U+FF60`、 `U+FFE0`-`U+FFE6`、 `U+1B000`-`U+1B001`、 `U+1F200`-`U+1F202`、 `U+1F210`-`U+1F23A`、 `U+1F240`-`U+1F248`、 `U+1F250`-`U+1F251`、 `U+20000`-`U+2FFFD`、 `U+30000`-`U+3FFFD`。 他のすべての文字は半角の文字です。

### パラメータ

`string`

  幅を取得したい文字列。

`encoding`
  `encoding` パラメータには文字エンコーディングを指定します。省略した場合、もしくは `null` の場合は、 内部文字エンコーディングを使用します。

### 戻り値

文字列 `string` の幅を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | `encoding` は、nullable になりました。

### 例

例1 mb_strwidth() example

    <?php
    var_dump(
        mb_strwidth('a'),       // LATIN SMALL LETTER A
        mb_strwidth("\u{ff41}") // FULLWIDTH LATIN SMALL LETTER A
    );
    ?>

上の例の出力は以下となります。

    int(1)
    int(2)

### 参考

- mb_strimwidth() - 指定した幅で文字列を丸める
- mb_internal_encoding() - 内部文字エンコーディングを設定あるいは取得する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open