(PHP 7, PHP 8)
IntlChar::enumCharTypes — Unicode の一般カテゴリの情報付きで、全てのコードポイントを走査する
Unicode の一般カテゴリの情報を付加した形で、全てのコードポイントを効率的に走査します。 これは、全ての割当済みのコードポイントを走査し、データ構造を作る用途などに役立ちます。
一般カテゴリ("character type") の情報が付いた、コードポイントの連続した範囲それぞれについて、
callback
関数がコールされます。
隣接した範囲は違う type を持ちます。
Unicode 標準は、この type の値の範囲が 0..31 にあることを保証しています。
callback
同じ一般カテゴリを持つ、連続した範囲のコードポイントそれぞれについて、 コールされるコールバック関数です。 3つの引数を渡すことが出来ます:
$start
- 範囲の始めにあたるコードポイント$end
- 範囲の最後にあたるコードポイント$name
- カテゴリタイプ (定数 IntlChar::CHAR_CATEGORY_*
のうちのひとつ)値を返しません。
例1 サンプルのコードポイントの範囲を走査する
<?php
IntlChar::enumCharTypes(function($start, $end, $type) {
printf("U+%04x through U+%04x are in category %d\n", $start, $end, $type);
});
?>
上の例の出力は以下となります。
U+0000 through U+0020 are in category 15 U+0020 through U+0021 are in category 12 U+0021 through U+0024 are in category 23 U+0024 through U+0025 are in category 25 U+0025 through U+0028 are in category 23 U+0028 through U+0029 are in category 20 U+0029 through U+002a are in category 21 U+002a through U+002b are in category 23 U+002b through U+002c are in category 24 U+002c through U+002d are in category 23 U+002d through U+002e are in category 19 U+002e through U+0030 are in category 23 U+0030 through U+003a are in category 9 ...