(PHP 7, PHP 8)
IntlChar::getPropertyValueName — 获取 Unicode 属性值的名称
$property
, int $value
, int $type
= IntlChar::LONG_PROPERTY_NAME): string|false返回给定属性值的 Unicode 名称,如 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_*
常量)。
如果超出范围,或者此方法无法处理给定的值,则返回 false
。
value
给定属性值的选取器。如果超出范围,则返回 false
。
通常,有效值范围从 0
到某个最大值。有几个例外
IntlChar::PROPERTY_BLOCK
值从非零值 IntlChar::BLOCK_CODE_BASIC_LATIN
开始IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS
值不连续,范围为 0..240。type
选择要获取的名称。如果超出范围,则返回 false
。
所有值都有一个长名称。大多数值都有一个短名称,但有些值没有。Unicode 允许添加其他名称;如果存在,则通过将 1、2 等添加到 IntlChar::LONG_PROPERTY_NAME
来返回这些名称。
返回名称,或者如果 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)