IntlChar::digit

(PHP 7, PHP 8)

IntlChar::digitПолучить десятичное число из символа Unicode с заданным основанием

Описание

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

Возвращает десятичное число из символа Unicode с заданным основанием.

Если основание не входит в диапазон 2<=radix<=36 или если codepoint не является корректным символом для этого основания, возвращается false. Символ является корректной цифрой если выполняется хотя бы одно из условий:

  • Символ представляет собой десятичную цифру. Такие символы входят в глобальную категорию "Nd" (десятичные цифры) и Numeric_Type является Decimal. В этом случае возвращается соответствующая десятичная цифра.
  • Символ является одной из заглавных латинских букв от 'A' до 'Z'. В этом случае 'A' - это 10.
  • Символ является одной из строчных латинских букв от 'a' до 'z'. В этом случае 'a' - это 10.
  • Латинские буквы из ASCII диапазона (0061..007A, 0041..005A). Также подходят диапазоны Полного ASCII (FF41..FF5A, FF21..FF3A).

Список параметров

codepoint

Целочисленное (int) задание кода символа (например 0x2603 для U+2603 СНЕГОВИКА), или символ закодированный строку UTF-8 (например "\u{2603}")

base

Основание (по умолчанию 10).

Возвращаемые значения

Возвращает десятичное число из символа Unicode с заданным основанием или false, если символ некорректен или выходит за рамки основания. В случае возникновения ошибки возвращает null.

Внимание

Эта функция может возвращать как логическое значение false, так и значение не типа boolean, которое приводится к 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)

Смотрите также

  • IntlChar::forDigit() - Получить символ представляющий заданное число в заданном основании
  • IntlChar::charDigitValue() - Получить десятичную цифру из символа десятичной цифры
  • IntlChar::isdigit() - Проверить, является ли символ цифрой
  • IntlChar::PROPERTY_NUMERIC_TYPE