Chcę sprawdzić, czy parametr app
istnieje w adresie URL, ale nie ma wartości.
Przykład:
my_url.php?app
Próbowałem isset()
i empty()
, ale nie działają. Widziałem to już wcześniej i zapomniałem jak.
Chcę sprawdzić, czy parametr app
istnieje w adresie URL, ale nie ma wartości.
Przykład:
my_url.php?app
Próbowałem isset()
i empty()
, ale nie działają. Widziałem to już wcześniej i zapomniałem jak.
Puste jest poprawna. Chcesz używać obu jest ustawiona i opróżnić razem
if(isset($_GET['app']) && !empty($_GET['app'])){
echo "App = ".$_GET['app'];
} else {
echo "App is empty";
}
Twoja "aplikacja jest pusta" wyświetli się, jeśli nie jest ustawiona, umieściłbym w tym miejscu instrukcję elseif – Scuzzy
Rzeczywiście, dokładniejsze stwierdzenie będzie: if (isset ($ _ GET ['app']) &&! empty ($ _ GET ['app'])) { echo "App =". $ _ GET ['app']; } elseif (isset ($ _ GET ['app'])) { echo "Aplikacja jest pusta"; } else { echo "Aplikacja nie jest ustawiona"; } –
if(isset($_GET['app']) && $_GET['app'] == "")
{
}
empty
powinno działać (if(empty($_GET[var]))...
), ponieważ sprawdza następujące:
Następujące rzeczy są uważane za puste:
"" (an empty string) 0 (0 as an integer) 0.0 (0 as a float) "0" (0 as a string) NULL FALSE array() (an empty array) $var; (a variable declared, but without a value)
Oto wasze alternatywy :
is_null
- Znajduje czy zmienna jest NULL
if(is_null($_GET[var])) ...
defined
- Sprawdza, czy dana nazwany stałą istnieje
if(defined($_GET[var])) ...
można po prostu sprawdzić, czy przezarray_key_exists('param', $_GET);
.
Wyobraź sobie, że to twój adres URL: http://example.com/file.php?param
. Ma parametr zapytania param
, ale nie ma wartości. Tak więc jego wartość byłaby w rzeczywistości równa null
.
array_key_exists('param', $_GET);
zwraca true
jeśli istnieje param
; zwraca false
, jeśli w ogóle nie istnieje.
Porównaj z ""? – BSull