(PHP 7, PHP 8)
IntlChar::getPropertyValueName — Получить имя Unicode для значения свойства
$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)