Я пытаюсь выполнить базовую операцию: проверить, является ли строка числом.
Это не работает:
$qty = $_REQUEST[qty];
if (is_int($qty) == FALSE) {
echo "error";
} else {
echo "ok";
}
Это один делает:
$qty = 1;
if (is_int($qty) == FALSE) {
echo "error";
} else {
echo "ok";
}
$_REQUEST[qty]
размещена с запросом AJAX ($.post). $_REQUEST[qty]
НЕ является пустым и содержит только число (1).
is_numeric()
не будет работать, так как он обрабатывает 1e4
как номер.
Вы имеете в виду '$ qty = $ _REQUEST ['qty']' (с кавычками) ...? – evotopid
Не имеет значения. Всегда работает с кавычками или без них в любом скрипте. –
@Radio да, он работает, но также вызывает ошибку уровня «NOTICE» (_PHP Notice: использование неопределенной константы foo - предполагается «foo'_»). Опуская цитаты, PHP предполагает, что вы имеете в виду то же самое с кавычками. В тот раз, когда вы на самом деле имеете константу, определенную с тем же именем, вы будете тянуть волосы в течение долгого времени, прежде чем поймать ее. Всегда используйте кавычки. –