ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_digitПроверяет цифровые символы

Описание

ctype_digit(mixed $text): bool

Проверяет, состоит ли переданная строка (string) text только из цифровых символов.

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

text

Проверяемая строка.

Замечание:

Функция интерпретирует целое число (int) как ASCII-значение одного символа, если передали целое число в диапазоне между -128 и 255 включительно; к отрицательным значениям добавляется 256, чтобы разрешить символы из диапазона кодировки Extended ASCII. Остальные целые числа обрабатываются как строки, которые содержат десятичные цифры целого числа.

Внимание

Начиная с PHP 8.1.0 передача нестроковых аргументов устарела. В будущем аргумент вместо ASCII-кода будет интерпретироваться как строка. В зависимости от предполагаемого поведения аргумент либо преобразовывают в строку (string), либо вызывают функцию chr().

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

Возвращает true, если каждый символ строки text — — это десятичная цифра, иначе false. При вызове с пустой строкой результатом всегда будет false.

Примеры

Пример #1 Пример использования ctype_digit()

<?php

$strings
= array('1820.20', '10002', 'wsl!12');
foreach (
$strings as $testcase) {
if (
ctype_digit($testcase)) {
echo
"Строка $testcase состоит только из цифр.\n";
} else {
echo
"Строка $testcase не состоит только из цифр.\n";
}
}
?>

Результат выполнения приведённого примера:

Строка 1820.20 не состоит только из цифр.
Строка 10002 состоит только из цифр.
Строка wsl!12 не состоит только из цифр.

Пример #2 Пример использования ctype_digit() со сравнением строк и целых чисел

<?php

$numeric_string
= '42';
$integer = 42;

ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 — это символ *)

is_numeric($numeric_string); // true
is_numeric($integer); // true
?>

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

  • ctype_alnum() - Проверяет буквенно-цифровые символы
  • ctype_xdigit() - Проверяет шестнадцатеричные цифры
  • is_numeric() - Проверяет, содержит ли переменная число или числовую строку
  • is_int() - Проверяет, представляет ли собой переменная целое число
  • is_string() - Проверяет, представляет ли собой тип переменной строку
  • IntlChar::isdigit() - Проверяет, относится ли кодовая точка к символам цифр