Zato sto isset vraca bool.
Code (php):
if (isset($var)) { ...
//je isto sto i
if (true) { ...
//ili
if (false) { ...
//Da li je 0 ili 1
//onda
if (isset($var) == false) { ... // ili === ili != ili !==
//je isto sto i
if (false == false) { ...
//Kao sto vidis tu je cisto:
//Da li je 1==0 ili 0==0
//a tvoj primer
if (isset($var) != '') { ...
//je nekako slicno sa
if (isset($var) != (1-1)) { ..
//ili
if (isset($var) != (1-1+4-2-2)) { ..
Da li vidis nepotreban korak?
Ti poredis bool i string i pri tom se vrsi konverzija stringa u bool. Totalna bespotreba konverzija.
Sve je to (nazalost) ispravno.
Drugaciji nacin pisanja koda u smislu tvojih predloga ne resava problem niti poboljsava pisanje i preglednost koda.
U vecini jezika '' nije false vec je false false. Jednog dana i php ce tako raditi stvari.
I @MPesic ima recenicu "a da to ne bude ovaj nacin pisanja" sto znaci da mu odgovora taj nacin pisanja a tamo nema neke slicnosti sa tvojim odgovorom.
Meni su oba njegova primara po nacinu pisanja totalno ista samo sto prvi nije logicki ispravan.
Govori o ta dva koda kao da su ista samo razlicito napisana ali to su dva razlicita koda sa razlicitim funkcijama (slicnim).
A mozda je hteo ovo na osnovu ove recenice "Zar ne moze promenljiva da bude prazna u nekom trenutku a zatim da se proverava, i ako je prazna onda joj se dodeljuje vrednost?"
Sa isset se ne proverava da li je prazna promenljiva vec da li postoji.
Code (php):
$var = '';
if (empty($var) && isset($_POST['ime'])
{
$var = $_POST['ime'];
}
echo $var;
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]