IntlChar::isxdigit

(PHP 7, PHP 8)

IntlChar::isxdigit检查代码点是否为十六进制数字

描述

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

确定指定的代码点是否为十六进制数字。

对于具有通用类别 "Nd"(十进制数字)以及 ASCII 和全角 ASCII 中的拉丁字母 a-f 和 A-F 的字符,返回 true。 (即,对于代码点为 0041..0046、0061..0066、FF21..FF26、FF41..FF46 的字母)。

这等效于 IntlChar::digit($codepoint, 16) >= 0

参数

codepoint

The int 代码点值(例如,U+2603 SNOWMAN0x2603),或作为 UTF-8 string 编码的字符(例如,"\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