IntlChar::getPropertyName

(PHP 7, PHP 8)

IntlChar::getPropertyNameプロパティに対応する、Unicode での名前を取得する

説明

public static IntlChar::getPropertyName(int $property, int $type = IntlChar::LONG_PROPERTY_NAME): string|false

指定されたプロパティに対応する、Unicode の名前を返します。 Unicode のデータベースファイル PropertyAliases.txt に存在するものです。

さらに、 この関数はプロパティ IntlChar::PROPERTY_GENERAL_CATEGORY_MASK を仮想の名前 "gcm" / "General_Category_Mask" に対応させています。 これらの名前は、PropertyAliases.txt には存在しません。

この関数は、 IntlChar::getPropertyEnum() を補完するものです。

パラメータ

property

調べたい Unicode プロパティ (定数 IntlChar::PROPERTY_* を参照ください)。

IntlChar::PROPERTY_INVALID_CODE は使ってはいけません。 また、property が範囲外の値の場合 false を返します。

type

どの名前を取得するかを選択します。 範囲外の値が指定された場合、false を返します。

全てのプロパティには長い名前 (long name) が存在します。 殆どのプロパティには短縮名 (short name) が存在しますが、 ないものもあります。 さらに、Unicode はこれら以外の追加の名前も許容しています。つまり、 追加の名前が存在する場合、 IntlChar::LONG_PROPERTY_NAME に追加される形で返されます。

戻り値

名前を返します。 propertytype が範囲外の場合は、 false を返します。

指定された typefalse を返す場合は、 それより大きな type の値も false を返しますが、 ひとつだけ例外があります。 IntlChar::SHORT_PROPERTY_NAME を指定して false を返す場合は、 IntlChar::LONG_PROPERTY_NAME (と、それより大きな値) は false でない値を返します。

例1 さまざまなプロパティの例

<?php
var_dump
(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASSIntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASSIntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASSIntlChar::LONG_PROPERTY_NAME 1));
?>

上の例の出力は以下となります。

string(10) "Bidi_Class"
string(2) "bc"
string(10) "Bidi_Class"
bool(false)

参考

関連キーワード:  名前, 対応, IntlChar, 取得, type, 存在, string, property, getPropertyEnum, getPropertyName