PHP Conference Japan 2024

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

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