(PHP 7, PHP 8)
IntlChar::enumCharNames — 指定された範囲の全てのUnicode文字を走査する
$start
,$end
,$callback
,$type
= IntlChar::UNICODE_CHAR_NAME最初と最後(但し、最初は含み、最後は含まない) の範囲にある Unicode 文字を全て走査し、 個々の文字について、コードポイントの値と文字の名前を渡してコールバック関数をコールします。
Unicode 1.0 の名前については、modern name と異なるもののみが走査されます。
start
走査を開始する最初のコードポイント。
end
走査する最後のコードポイントよりひとつ先を指定します。
callback
文字の名前それぞれについて、この関数がコールされます。 以下の3つの引数が渡されます:
type
どの種類の名前を走査するかを選びます。以下の定数が使えます:
IntlChar::UNICODE_CHAR_NAME
(デフォルト)IntlChar::UNICODE_10_CHAR_NAME
IntlChar::EXTENDED_CHAR_NAME
IntlChar::CHAR_NAME_ALIAS
IntlChar::CHAR_NAME_CHOICE_COUNT
成功した場合に 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