IntlChar::enumCharTypes

(PHP 7, PHP 8)

IntlChar::enumCharTypesUnicode の一般カテゴリの情報付きで、全てのコードポイントを走査する

説明

publicstaticIntlChar::enumCharTypes(callable$callback): void

Unicode の一般カテゴリの情報を付加した形で、全てのコードポイントを効率的に走査します。 これは、全ての割当済みのコードポイントを走査し、データ構造を作る用途などに役立ちます。

一般カテゴリ("character type") の情報が付いた、コードポイントの連続した範囲それぞれについて、 callback 関数がコールされます。 隣接した範囲は違う type を持ちます。 Unicode 標準は、この type の値の範囲が 0..31 にあることを保証しています。

パラメータ

callback

同じ一般カテゴリを持つ、連続した範囲のコードポイントそれぞれについて、 コールされるコールバック関数です。 3つの引数を渡すことが出来ます:

  • int$start - 範囲の始めにあたるコードポイント
  • int$end - 範囲の最後にあたるコードポイント
  • int$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 ...
To Top