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 为 Decimal。 在这种情况下,该值是字符的十进制数字值。
  • 该字符是“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