PHP Conference Japan 2024

IntlChar::getPropertyValueName

(PHP 7, PHP 8)

IntlChar::getPropertyValueName获取 Unicode 属性值的名称

描述

public static IntlChar::getPropertyValueName(int $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 到某个最大值。但也有一些例外

type

选择要获取的名称。如果超出范围,则返回 false

所有值都有长名称。大多数值都有短名称,但有些没有。Unicode 允许使用其他名称;如果存在,则通过向 IntlChar::LONG_PROPERTY_NAME 添加 1、2 等来返回这些名称。

返回值

返回名称,如果 propertytype 超出范围,则返回 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)
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top