PHP Conference Japan 2024

IntlChar::digit

(PHP 7, PHP 8)

IntlChar::digit获取给定基数的代码点的十进制数字值

描述

public static IntlChar::digit(int|string $codepoint, int $base = 10): int|false|null

返回指定基数中代码点的十进制数字值。

如果基数不在范围 2<=radix<=36 内,或者 codepoint 的值在指定的基数中不是有效的数字,则返回 false。如果至少满足以下条件之一,则字符为有效数字

  • 字符具有十进制数字值。此类字符具有通用类别“Nd”(十进制数字)和十进制的 Numeric_Type。在这种情况下,值是字符的十进制数字值。
  • 字符是其中一个大写拉丁字母“A”到“Z”。在这种情况下,值为 c-'A'+10。
  • 字符是其中一个小写拉丁字母“a”到“z”。在这种情况下,值为 ch-'a'+10。
  • 识别来自 ASCII 范围 (0061..007A, 0041..005A) 和全角 ASCII 范围 (FF41..FF5A, FF21..FF3A) 的拉丁字母。

参数

codepoint

int 代码点值(例如,U+2603 SNOWMAN0x2603),或编码为 UTF-8 string 的字符(例如 "\u{2603}"

base

基数(默认为 10)。

返回值

返回字符在指定基数中表示的数值,如果不存在值或值超过基数,则返回 false。失败时返回 null

警告

此函数可能会返回布尔值 false,但也可能返回计算结果为 false 的非布尔值。请阅读有关 布尔值 的部分以了解更多信息。使用 === 运算符 测试此函数的返回值。

示例

示例 #1 测试不同的代码点

<?php
var_dump
(IntlChar::digit("0"));
var_dump(IntlChar::digit("3"));
var_dump(IntlChar::digit("A"));
var_dump(IntlChar::digit("A", 16));
?>

以上示例将输出

int(0)
int(3)
bool(false)
int(10)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top