2024 日本 PHP 研討會

IntlChar::isxdigit

(PHP 7, PHP 8)

IntlChar::isxdigit檢查程式碼點是否為十六進位數字

描述

公開 靜態 IntlChar::isxdigit(整數|字串 $codepoint): ?布林

判斷指定的程式碼點是否為十六進位數字。

對於通用類別為「Nd」(十進位數字)的字元,以及 ASCII 和全形 ASCII 中的拉丁字母 a-f 和 A-F,皆回傳 true。(也就是程式碼點為 0041..0046、0061..0066、FF21..FF26、FF41..FF46 的字母。)

這等同於 IntlChar::digit($codepoint, 16) >= 0

參數

codepoint

整數 程式碼點值(例如 U+2603 雪人0x2603),或是以 UTF-8 字串 編碼的字元(例如 "\u{2603}"

回傳值

如果 codepoint 是十六進位字元,則回傳 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)

注意事項

注意:

若要將十六進位數字的定義限縮為僅包含 ASCII 字元,請使用

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

參見

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top