IntlChar::getPropertyValueEnum
(PHP 7, PHP 8)
IntlChar::getPropertyValueEnum — 指定された値の名前に対応する、プロパティの値を取得する
説明
指定された値の名前に対応する、プロパティの値を整数で返します。 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_*
を参照ください)。範囲外の値が指定されたり、 このメソッドが指定された値で動作しなかった場合は、
IntlChar::PROPERTY_INVALID_CODE
を返します。 name
-
マッチさせる値の名前。 PropertyValueAliases.txt で説明されている "loose matching" を使って比較されます。
戻り値
対応する値の整数を返します。
指定した名前が、プロパティのどの値にもマッチしないか、
プロパティそのものが無効な場合は、
IntlChar::PROPERTY_INVALID_CODE
を返します。
例
例1 さまざまなプロパティの例
<?php
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BLOCK, 'greek') === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'RIGHT_TO_LEFT') === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
var_dump(IntlChar::getPropertyValueEnum(123456789, 'RIGHT_TO_LEFT') === IntlChar::PROPERTY_INVALID_CODE);
?>
上の例の出力は以下となります。
bool(true) bool(true) bool(true) bool(true)