3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHP7調査(6)文字列中にコードポイントでUTF-8の1文字を書けるようになった

Last updated at Posted at 2015-04-10

PHP7では文字列中にUnicodeコードポイントでUTF-8の1文字を記述することができます。

Unicodeコードポイントというのは、Unicodeの文字1文字に対して割り当てられている16進数のことです。たとえば全角空白であれば「U+3000」のように表記されているのを見ると思いますし、unicode.orgのPDFでもおなじみですね。

たとえば、U+301CとU+FF5Eの2文字が次のように表現できます。

<?php
$wave_dash="\u{301c}";
var_dump($wave_dash); // string(3) "〜"
$fullwidth_tilde="\u{ff5e}";
var_dump($fullwidth_tilde); // string(3) "~"

PHP5で同じことを書こうと思うと「\x??」のスタイルで3バイト記述するしか無かったのが、PHP7では読みやすく書けてステキですね。

ちなみに

  • 中カッコは必須です
  • 絵文字などBMP外の文字(U+10000以降)にも対応しています
  • mbstringとは無関係な実装なので、mbstringの設定がどうであろうとUTF-8の1文字(1バイトから4バイト)になります。

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?