IntlChar::getPropertyValueName

(PHP 7, PHP 8)

IntlChar::getPropertyValueNameПолучить имя Unicode для значения свойства

Описание

public static IntlChar::getPropertyValueName(int $property, int $value, int $type = IntlChar::LONG_PROPERTY_NAME): string|false

Возвращает имя свойства Unicode по его значению, как определено в файле PropertyValueAliases.txt.

Замечание:

Некоторые имена из PropertyValueAliases.txt могут быть извлечены только с помощью IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, а не IntlChar::PROPERTY_GENERAL_CATEGORY. Включая:

  • "C" / "Прочее"
  • "L" / "Буквы"
  • "LC" / "Буквы, имеющие несколько регистров"
  • "M" / "Метки"
  • "N" / "Числа"
  • "P" / "Пунктуация"
  • "S" / "Символы"
  • "Z" / "Разделители"

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

property

Свойство Unicode для отображения (Смотри константы IntlChar::PROPERTY_*).

Если не входит в допустимый диапазон, либо если метод не работает с данным значением, возвращается false.

value

Селектор для значения свойства. Если не входит в допустимый диапазон, то вернётся false.

В целом, допустимый диапазон лежит в пределах от 0 до некоторого максимума. Есть несколько исключений:

  • Значения IntlChar::PROPERTY_BLOCK начинаются с не нулевого значения IntlChar::BLOCK_CODE_BASIC_LATIN
  • Значения IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS не непрерывны и лежат в диапазоне 0..240.

type

Селектор для извлекаемого имени. Если не попадает в диапазон - будет возвращено false.

Все значения имеют длинные имена. Большинство имеют короткие имена, но не все. Unicode позволяет дополнительные имена; Если существуют, они будут возвращены с добавлением 1, 2, и т.д к IntlChar::LONG_PROPERTY_NAME.

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

Возвращает имена или false если property или nameChoice выходят за допустимый диапазон. В случае возникновения ошибки возвращает null.

Если type возвращает false, то все более большие величины type также вернут false, с одним исключением: если false вернётся для IntlChar::SHORT_PROPERTY_NAME, то IntlChar::LONG_PROPERTY_NAME (и выше) всё ещё могут вернуть не false.

Примеры

Пример #1 Тестирование различных свойств

<?php
var_dump
(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME + 1));
?>

Результат выполнения данного примера:

string(16) "Greek_And_Coptic"
string(5) "Greek"
string(16) "Greek_And_Coptic"
bool(false)