ctype_digit

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

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

Описание

ctype_digit(mixed$text): bool

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

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

text

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

Замечание:

Если передано целое число (int) в диапазоне между -128 и 255 включительно, то оно будет обработано как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256, чтобы функция могла представить символы из расширенного диапазона 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() - Проверить, является ли символ цифрой
To Top