IntlChar::enumCharNames
(PHP 7, PHP 8)
IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
说明
int|string
$start
,int|string
$end
,callable
$callback
,int
$type
= IntlChar::UNICODE_CHAR_NAME): ?bool
Enumerate all assigned Unicode characters between the start and limit code points (start inclusive, limit exclusive) and call a function for each, passing the code point value and the character name.
For Unicode 1.0 names, only those are enumerated that differ from the modern names.
参数
-
start
-
The first code point in the enumeration range.
-
end
-
One more than the last code point in the enumeration range (the first one after the range).
-
callback
-
The function that is to be called for each character name. The following three arguments will be passed into it:
- int
$codepoint
- The numeric code point value - int
$nameChoice
- The same value as thetype
parameter below - string
$name
- The name of the character
- int
-
type
-
Selector for which kind of names to enumerate. Can be any of these constants:
IntlChar::UNICODE_CHAR_NAME
(default)IntlChar::UNICODE_10_CHAR_NAME
IntlChar::EXTENDED_CHAR_NAME
IntlChar::CHAR_NAME_ALIAS
IntlChar::CHAR_NAME_CHOICE_COUNT
返回值
成功时返回 null
, 或者在失败时返回 false
。
范例
示例 #1 Enumerating over a sample range of code points
<?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
参见
- IntlChar::charName() - Retrieve the name of a Unicode character
- IntlChar::charFromName() - Find Unicode character by name and return its code point value

User Contributed Notes
备份地址:http://www.lvesu.com/blog/php/intlchar.enumcharnames.php