ConFoo 2025

IntlChar::getPropertyValueName

(PHP 7, PHP 8)

IntlChar::getPropertyValueNameПолучает значения свойства Юникода

Описание

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

Метод возвращает значение свойства Юникода, как значение указали в файле базы данных Юникода — PropertyValueAliases.txt.

Замечание:

Отдельные названия значений свойств из файла PropertyValueAliases.txt извлекаются только через флаг IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, а не IntlChar::PROPERTY_GENERAL_CATEGORY. К таким значениям относятся следующие категории символов (список приводит короткое и длинное название категории, а также сокращённое описание):

  • "C" / "Other" — прочие символы (управлящие, форматирования, суррогаты, частные и зарезервированные неназначенные кодовые точки и несимвольные коды)
  • "L" / "Letter" — буквы
  • "LC" / "Cased_Letter" — категория регистровых букв, которая объединяет категории: заглавных букв — Lu, строчных букв — Ll и категорию букв титульного регистра — Lt, в которую входят диграфы — символы, которые состоят из двух букв, которые закодировали как один символ, первый из которых — заглавный, например U+01F2 LATIN CAPITAL LETTER D WITH SMALL LETTER Z
  • "M" / "Mark" — метки
  • "N" / "Number" — числа
  • "P" / "Punctuation" — символы пунктуации
  • "S" / "Symbol" — символы (математические, валют, диакритические и прочие)
  • "Z" / "Separator" — символы-разделители

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

property

Свойство Юникода для поиска (см. константы семейства IntlChar::PROPERTY_*).

Метод вернёт false, если свойство выходит за пределы допустимого диапазона или метод не работает с заданным значением.

value

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

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

type

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

Длинное имя есть у каждого значения. У большей части значений есть короткие имена, но не у каждого. Юникод разрешает дополнительные имена; если значению присвоили короткое название, метод вернёт значение IntlChar::LONG_PROPERTY_NAME с добавлением 1, 2 и т. д.

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

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

Если тип названия type возвращает false, все бо́льшие значения типа названия type также вернут false, с одним исключением: если для IntlChar::SHORT_PROPERTY_NAME вернётся false, то 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)
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top