PHPerKaigi 2024

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

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

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.3.0 この関数は、失敗時に false を返すようになりました。 これより前のバージョンでは null を返していました。

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

<?php
IntlChar
::enumCharNames(0x2600, 0x2610, 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

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top