E' un problema di casting.Originariamente inviato da daniele_dll
mi hanno appena risposto che 0 è uguale a zero quindi non c'è bug
ma a me non mi pare di aver convertito la stringa in numero
ora vorrei andare a controllare per bene il manuale, comunque è semplicemente assurdo![]()
Se usi un numerico in una struttura di comparazione, di controllo questa struttura viene forzata a numerico in tutti i suoi componenti. Quindi $valore e' FALSE (come valore numerico) == $_v che contiene 0. In sostanza esegue un eval su $valore.
Prova a passare a $_v uno zero come stringa e vedrai che lo riconosce come diverso.
Oppure usando l'operatore identico ===codice:$valore = 'qwerty'; $_v = "0"; //intval($valore); if ( $valore == $_v ) echo "vero"; else echo "falso";
![]()