(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_digit — Проверяет наличие цифровых символов в строке
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
?>