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 перечисляются только те символы, имена которых отличны от их "современных" имён.

Список параметров

start

Код символа с которого начинается диапазон.

end

Код символа с которого начинается диапазон. Сам этот символ в диапазон не попадёт.

callback

Функция, которая будет вызвана для каждого возвращённого символа. В неё будут переданы следующие три аргумента:

  • 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

Возвращаемые значения

Возвращает 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 add a note

User Contributed Notes

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