PHP Conference Japan 2024

IntlChar::digit

(PHP 7, PHP 8)

IntlChar::digit取得指定進位制下程式碼點的十進位數字值

說明

public static IntlChar::digit(int|字串 $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 字串 的字元(例如 "\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