(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)