ctype_digit

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

ctype_digitПроверяет наличие цифровых символов в строке

Описание

ctype_digit(mixed $text): bool

Проверяет, являются ли все символы в строке 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() - Проверить, является ли символ цифрой