2010-12-09 3 views
0

, если условие я хочу, чтобы проверитьпроверки, если условие 0 значение

if(isset($_GET['q'])) 
{ 
echo "ok"; 
} 
esle 
{ 
echo "not ok"; 
} 

когда $ _GET [ «д»] = 0, если отправить меня в еще части.

Но я хочу войти, если.

если $ _GET [ «д»] иметь любое значение даже при 0, если необходимо напечатать ки

помощи пожалуйста?

+1

Это не должно быть. Среди «установленных» переменных только значения «null» считаются «не заданными», `0` обязательно должны быть установлены». Попробуйте `var_dump ($ _ GET ['q'])`. – deceze 2010-12-09 06:30:20

+0

в стороне от тех опечаток, которые у вас есть здесь (которые не могут вызвать проблемы с синтаксическими ошибками), которые должны работать. Вы уверены, что `$ _GET ['q']` на самом деле `0` ... его не в` $ _POST` или передано как `$ _GET ['Q']`? – prodigitalson 2010-12-09 06:31:20

ответ

3

Это то, что делает isset. Попытка:

$x["q"] = 0; 
var_dump(isset($x["q"])); 

Вы получите правду. Если вы думаете, isset() возвращает false на 0, вы ищете не то место, ищите ошибку в другом месте.

0

0 не равно нулю http://php.net/manual/en/function.isset.php

Вам может понадобиться что-то вроде этого, учитывая значение, которое вы хотите это целое

if(isset($_GET['q']) && intval($_GET['q']) > 0) 
{ 
echo "ok"; 
} 
else 
{ 
echo "not ok"; 
} 
0

array_key_exists() возможно было бы более уместным.

if (array_key_exists('q', $_GET)) ...

0

Я думаю, что это правильный один ...

if(array_key_exists('q', $_GET)){ 
    echo "ok"; 
} 
else{ 
    echo "not ok"; 
} 
Смежные вопросы