IntlChar::isxdigit

(PHP 7, PHP 8)

IntlChar::isxdigitコードポイントが、16進数の文字であるかを調べる

説明

public static IntlChar::isxdigit(int|string $codepoint): ?bool

指定されたコードポイントが、16進数の文字であるかを判定します。

戻り値が true になるのは、 general category "Nd" (decimal digit numbers) にある文字か、 ASCII と 全角ASCII の a-f および A-F にある文字です。 (つまり、コードポイント 0041..0046, 0061..0066, FF21..FF26, FF41..FF46 に入る文字です)

この関数の動作は、IntlChar::digit($codepoint, 16) >= 0 と同等です。

パラメータ

codepoint

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

戻り値

codepoint が16進文字である場合は、true を返します。 そうでない場合は、false を返します。 失敗した場合は、null を返します。

例1 さまざまなコードポイントの例

<?php
var_dump
(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>

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

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

注意

注意:

16進数の文字のうち、ASCII 文字の範囲に定義を絞るには、以下のようにします:

<?php
$isASCIIHexadecimal
= IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top