(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
.
codepoint
Целочисленное (int) задание кода символа (например 0x2603
для U+2603 СНЕГОВИКА), или символ закодированный строку UTF-8 (например "\u{2603}"
)
Возвращает 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);
?>