domanda da novellino: scrivere if(isset($var)) { ... } equivale a scrivere if($var) { ... } ?
domanda da novellino: scrivere if(isset($var)) { ... } equivale a scrivere if($var) { ... } ?
No. A parte il fatto che `isset` non lancia nessun errore se `$var` è indefinito, `if(isset($var))` ritorna `false` solo se `$var` non è definito o contiene NULL, mentre `if($var)` è `false` anche per valori vuoti (NULL, stringa vuote (""), array vuoti (array()), il valore `false`, 0, "0") e le variabili indefinite.
L'equivalente di `if($var)` è `if(!empty($var))`
Ultima modifica di .Kurt; 24-01-2016 a 14:23
Quindi if($var) è anche come scrivere if($var != "") oppure if($var != null), if($var != false), ecc ? E' come dire: "Se $var contiene un valore, esegui questo {}" ?
`if($var)` equivale a dire: contiene $var un valore "booleanicamente" (passatemi il termine) `true`?
Cioè, è `true` per tutti i valori tranne per stringa vuota "", null, array(), false, 0, "0" e variabili indefinite.
Quindi si, forse `if($var != null)` può essere considerato equivalente a `if($var)`, ma sicuramente non `if($var != "")` visto che se $var contiene un array vuoto `if($var)` ritorna `false` mentre `if($var != null)` ritorna `true`.