(PHP 7, PHP 8)
IntlChar::isxdigit — 檢查程式碼點是否為十六進位數字
判斷指定的程式碼點是否為十六進位數字。
對於通用類別為「Nd」(十進位數字)的字元,以及 ASCII 和全形 ASCII 中的拉丁字母 a-f 和 A-F,皆回傳 true
。(也就是程式碼點為 0041..0046、0061..0066、FF21..FF26、FF41..FF46 的字母。)
這等同於 IntlChar::digit($codepoint, 16) >= 0
。
範例 #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);
?>