(PHP 7, PHP 8)
IntlChar::getPropertyValueName — 获取 Unicode 属性值的名称
$property, int $value, int $type = IntlChar::LONG_PROPERTY_NAME): string|false返回 Unicode 数据库文件 PropertyValueAliases.txt 中给定属性值的 Unicode 名称。
注意:
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 允许使用其他名称;如果存在,则通过向 IntlChar::LONG_PROPERTY_NAME 添加 1、2 等来返回这些名称。
返回名称,如果 property 或 type 超出范围,则返回 false。失败时返回 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)