Autor | Zpráva | ||
---|---|---|---|
Marešu Profil * |
#1 · Zasláno: 8. 8. 2007, 18:35:23
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 * |
#2 · Zasláno: 8. 8. 2007, 18:48:01
V nadpise je samozřejmě chyba, místo Intval má být Isset
|
||
djlj Profil |
#3 · Zasláno: 8. 8. 2007, 18:54:34
isset zjišťuje, za je proměnná inicializována
empty zjišťuje, zda je proměnná prázdná |
||
nightfish Profil |
#4 · Zasláno: 8. 8. 2007, 18:55:30 · Upravil/a: nightfish
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 * |
#5 · Zasláno: 8. 8. 2007, 19:06:30
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 |
#6 · Zasláno: 9. 8. 2007, 08:41:59
Ale bacha!
empty(0) vrátí true - funguje nejen na řetězcové proměnné |
||
Marešu Profil * |
#7 · Zasláno: 9. 8. 2007, 09:07:43
Ale bacha!
empty(0) vrátí true - funguje nejen na řetězcové proměnné Jo tak proto, díky! |
||
Časová prodleva: 17 let
|
0