Вам известна функция, которая может проверять, содержит ли строка целое число?
Вот как я ожидаю, что это сработает:
holds_int("23") // should return true. holds_int("2.3") // should return false. holds_int("qwe") // should return false.
сравнение.php:
<?php function is_numeric_int($s) { return (strval(intval($s)) === $s); } function print_ini($s) { echo "$s: " . ( is_numeric_int($s) ? 'true' : 'false' ) . "\n"; } print_ini('qwe'); print_ini('23'); print_ini('-23'); print_ini('23.0'); print_ini('-23.0'); ?>
Тестовый прогон:
$ php comparison.php qwe: false 23: true -23: true 23.0: false -23.0: false
Может быть два случая-
Вам необходимо проверить точный формат строки числа (большинство ответов об этом)
Вы хотите проверить, содержит ли строка определенное число или нет
preg_match('/'.$matching_number.'/',$container_string);
Если вы используете библиотеку Assert в своем проекте (https://github.com/beberlei/assert), вы можете легко сделать это в одной строке:
Assertion::integerish($var);
Примечание: в случае нарушения выдается исключениеутверждение.
is_int - единственное, что предназначено для этой работы.
is_int