(PHP 7, PHP 8)
IntlChar::hasBinaryProperty — コードポイントに対応する、バイナリ Unicode プロパティがあるかを調べる
$codepoint
, int $property
): ?boolコードポイントに対応する、 バイナリ 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)