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 名稱,如 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 到某個最大值。但有幾個例外:

type

要獲取哪個名稱的選擇器。如果超出範圍,則會回傳 false

所有值都有一個長名稱。大多數值都有一個短名稱,但有些則沒有。Unicode 允許額外的名稱;如果存在,則可以透過在 IntlChar::LONG_PROPERTY_NAME 上加 1、2 等來回傳這些名稱。

回傳值

回傳名稱,如果 propertytype 超出範圍,則回傳 false。失敗時回傳 null

如果給定的 type 回傳 false,則所有較大的 type 值都會回傳 false,但有一個例外:如果 IntlChar::SHORT_PROPERTY_NAME 回傳 false,則 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