ConFoo 2025

IntlChar::getPropertyValueEnum

(PHP 7, PHP 8)

IntlChar::getPropertyValueEnumПолучает значение свойства по имени значения

Описание

public static IntlChar::getPropertyValueEnum(int $property, string $name): int

Метод возвращает целочисленное значение свойства Юникода по имени значения, как определяет файл базы данных Юникода — 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_*).

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

name

Название значения свойства, которое требуется сопоставить. Имена сравниваются по принципу «свободного соответствия» (loose matching), как описывает файл базы данных Юникода — PropertyValueAliases.txt.

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

Метод возвращает целочисленное значение свойства, которое соответствует названию значения свойства, или IntlChar::PROPERTY_INVALID_CODE, если имя не совпадает ни с одним значением свойства или если свойство недопустимо.

Примеры

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

<?php

var_dump
(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BLOCK, 'greek') === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'RIGHT_TO_LEFT') === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
var_dump(IntlChar::getPropertyValueEnum(123456789, 'RIGHT_TO_LEFT') === IntlChar::PROPERTY_INVALID_CODE);

?>

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

bool(true)
bool(true)
bool(true)
bool(true)
Добавить

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

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