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
E' un problema di casting.

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.
codice:
$valore = 'qwerty';
$_v = "0"; //intval($valore);

if ( $valore == $_v ) echo "vero";
else echo "falso";
Oppure usando l'operatore identico ===