(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 允許額外的名稱;如果存在,則可以透過在 IntlChar::LONG_PROPERTY_NAME 上加 1、2 等來回傳這些名稱。
回傳名稱,如果 property 或 type 超出範圍,則回傳 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)