(PHP 7, PHP 8)
IntlChar::getPropertyValueEnum — 获取给定值名称的属性值
返回给定值名称的属性值整数,如 Unicode 数据库文件 PropertyValueAliases.txt 中所指定。短名称、长名称和任何其他变体都会被识别。
注意:
PropertyValueAliases.txt 中的一些名称只有使用
IntlChar::PROPERTY_GENERAL_CATEGORY_MASK
才能识别,而不能使用IntlChar::PROPERTY_GENERAL_CATEGORY
。这些包括
- "C" / "Other"
- "L" / "Letter"
- "LC" / "Cased_Letter"
- "M" / "Mark"
- "N" / "Number"
- "P" / "Punctuation"
- "S" / "Symbol"
- "Z" / "Separator"
property
要查找的 Unicode 属性(参见 IntlChar::PROPERTY_*
常量)。
如果超出范围,或者此方法无法处理给定值,则返回 IntlChar::PROPERTY_INVALID_CODE
。
name
要匹配的值名称。使用 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)