IntlChar::enumCharNames

(PHP 7, PHP 8)

IntlChar::enumCharNames指定された範囲の全てのUnicode文字を走査する

説明

public static IntlChar::enumCharNames(
    int|string $start,
    int|string $end,
    callable $callback,
    int $type = IntlChar::UNICODE_CHAR_NAME
): ?bool

最初と最後(但し、最初は含み、最後は含まない) の範囲にある Unicode 文字を全て走査し、 個々の文字について、コードポイントの値と文字の名前を渡してコールバック関数をコールします。

Unicode 1.0 の名前については、modern name と異なるもののみが走査されます。

パラメータ

start

走査を開始する最初のコードポイント。

end

走査する最後のコードポイントよりひとつ先を指定します。

callback

文字の名前それぞれについて、この関数がコールされます。 以下の3つの引数が渡されます:

  • int $codepoint - コードポイントの数値
  • int $nameChoice - 以下に示す type と同じ値
  • string $name - 文字の名前

type

どの種類の名前を走査するかを選びます。以下の定数が使えます:

  • IntlChar::UNICODE_CHAR_NAME (デフォルト)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

戻り値

成功した場合に null を、失敗した場合に false を返します.

例1 サンプルの範囲に入るコードポイントを走査する例

<?php
IntlChar
::enumCharNames(0x26000x2610, function($codepoint$nameChoice$name) {
    
printf("U+%04x %s\n"$codepoint$name);
});
?>

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

U+2600 BLACK SUN WITH RAYS
U+2601 CLOUD
U+2602 UMBRELLA
U+2603 SNOWMAN
U+2604 COMET
U+2605 BLACK STAR
U+2606 WHITE STAR
U+2607 LIGHTNING
U+2608 THUNDERSTORM
U+2609 SUN
U+260a ASCENDING NODE
U+260b DESCENDING NODE
U+260c CONJUNCTION
U+260d OPPOSITION
U+260e BLACK TELEPHONE
U+260f WHITE TELEPHONE

参考

関連キーワード:  文字, 走査, 範囲, IntlChar, 名前, ポイント, コード, 指定, int, type