IntlChar::getPropertyValueEnum

指定された値の名前に対応する、プロパティの値を取得する

説明

public static int IntlChar::getPropertyValueEnum(int $property, string $name)

指定された値の名前に対応する、プロパティの値を整数で返します。 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)