IntlChar::hasBinaryProperty

コードポイントに対応する、バイナリ Unicode プロパティがあるかを調べる

説明

public static boolnull IntlChar::hasBinaryProperty(intstring $codepoint, int $property)

コードポイントに対応する、 バイナリ Unicode プロパティがあるかをチェックします。

Unicode、特にバージョン 3.2 では、 UnicodeData.txt に存在するオリジナルのもの以上に、 多くのプロパティを定義しています。

プロパティの API は、 Unicode Character Database (UCD) や Unicode Technical Reports (UTR) で定義されている Unicode プロパティを反映したものを意図しています。 プロパティの詳細については、 » http://www.unicode.org/ucd/ を参照ください。 Unicode プロパティの名前については、 UCD ファイル PropertyAliases.txt を参照ください。

パラメータ

codepoint

コードポイントを表す int 型の値 (例: U+2603 SNOWMAN を表す 0x2603)、あるいは UTF-8 文字列としてエンコードされた文字 (例: "\u{2603}")。

property

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

戻り値

codepoint に対応するバイナリ Unicode プロパティに応じて、true または false を返します。 property が範囲外だったり、 Unicode のバージョンやコードポイントが、 バイナリプロパティのデータを全く持っていない場合も、false を返します。 失敗した場合は、null を返します。

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

<?php
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_BIDI_MIRRORED));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_BIDI_MIRRORED));
?>

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

bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)

参考

  • IntlChar::getIntPropertyValue
  • IntlChar::getUnicodeVersion