(PHP 7, PHP 8)
IntlChar::isxdigit β ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π»ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° ΠΊ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅
ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π»ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° ΠΊ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅.
true Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Β«NdΒ» (Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°),
Π° ΡΠ°ΠΊΠΆΠ΅ Π»Π°ΡΠΈΠ½ΡΠΊΠΈΡ
Π±ΡΠΊΠ² a-f ΠΈ A-F ΠΊΠ°ΠΊ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ
ASCII, ΡΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ASCII ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Ρ.
(Π’ΠΎ Π΅ΡΡΡ Π΄Π»Ρ Π±ΡΠΊΠ² Ρ ΠΊΠΎΠ΄ΠΎΠ²ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.)
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ IntlChar::digit($codepoint, 16) >= 0.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° codepoint β
ΡΡΠΎ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΈΠ»ΠΈ 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)
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π§ΡΠΎΠ±Ρ ΡΡΠ·ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ ΡΠΈΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ASCII-ΡΠΈΠΌΠ²ΠΎΠ»Ρ:
<?php
$isASCIIHexadecimal = IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>