Autor Zpráva
Marešu
Profil *
Jakej je rozdíl mezi Isset a Empty? Jak je nejlíp použít při testování $_GET a $_POST?

Při:

1) testu zda existuje proměnná
2) Zda existuje číselná proměnná o velikosti např. "0"
3) Zda existuje string proměnná rovna řetězci např. "uid"

mě např. php5 nevzalo toto:

if (intval($_GET['uid'])=='0')
{

}

vzalo toto:
if ($_GET['uid']=='0')
{

}
Marešu
Profil *
V nadpise je samozřejmě chyba, místo Intval má být Isset
djlj
Profil
isset zjišťuje, za je proměnná inicializována
empty zjišťuje, zda je proměnná prázdná
nightfish
Profil
Marešu
isset = je proměnná definovaná (EDIT: inicializovaná)
empty = je řetězec prázdný

ad 1) isset na neexistující proměnnou vrátí false, empty zřejmě chybu
ad 2) isset pro existující proměnnou s hodnotou 0 vrátí true, empty vrátí true
ad 3) isset pro proměnnou obsahující "uid" vrátí true, empty vrátí false

jinak nic, co by se nedalo najít na příslušných stránkách
[url=http://cz.php.net/isset
]http://cz.php.net/isset
[/url]
http://cz.php.net/empt
Marešu
Profil *
Díky, šlo mi o to pochopit, kdy je lepší použít to a kdy ono i třeba v kombinaci na testování druhu (intval). Budu to dělat asi tak, že nejdřív otestuju isset a pak proměnnou jestli je intval.
Yrrah
Profil
Ale bacha!
empty(0) vrátí true - funguje nejen na řetězcové proměnné
Marešu
Profil *
Ale bacha!
empty(0) vrátí true - funguje nejen na řetězcové proměnné



Jo tak proto, díky!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0