Чтобы проверить, является ли строка числом в PHP, вы можете использовать несколько подходов. Вот некоторые из них:

1. Использование функции is_numeric()

Функция `is_numeric()` проверяет, является ли переменная числом или строкой, содержащей число. Однако, она также возвращает `true` для строк, содержащих числа, поэтому если вам нужно строгое соответствие числовой строке, этот метод может быть не идеальным.

$string = "123";

if (is_numeric($string)) {
   echo "Строка является числом.";
} else {
   echo "Строка не является числом.";
}

2. Использование функции ctype_digit()

Функция `ctype_digit()` проверяет, состоит ли строка только из цифр. Это идеальный способ проверить, является ли строка числом, если вы ищете строгое соответствие числовой строке.

$string = "123";

if (ctype_digit($string)) {
   echo "Строка является числом.";
} else {
   echo "Строка не является числом.";
}

3. Использование регулярных выражений

Если вам нужно более гибкое решение, например, если вы хотите проверить, является ли строка числом с плавающей точкой или отрицательным числом, вы можете использовать регулярные выражения.

$string = "123.45";

if (preg_match("/^-?\d+(\.\d+)?$/", $string)) {
   echo "Строка является числом.";
} else {
   echo "Строка не является числом.";
}

Это регулярное выражение проверяет, является ли строка положительным или отрицательным числом с плавающей точкой.

Вывод

Выбор метода зависит от ваших конкретных требований. Если вам нужно просто проверить, состоит ли строка только из цифр, `ctype_digit()` будет наиболее подходящим выбором. Если вам нужно более сложное условие, например, проверка на наличие числа с плавающей точкой или отрицательного числа, регулярные выражения предложат больше гибкости.