
Originariamente inviata da
Flaviors200
È possibile data la natura di PHP, che è un linguaggio a tipizzazione debole.
Quando deve confrontare due valori di tipo diverso, PHP tenta di fare una conversione (casting) prima di effettuare il confronto.
Nel tuo caso PHP tenta di convertire la stringa '
bauh' in un intero, assegnandole di fatto il valore 0. Dal confronto si ha 0 == 0, che è perfettamente true. Se provassi a fare un echo di '5' + 4 vedresti che il risultato è uguale a 9, in quanto '5' viene castato a 5.
Chiaramente utilizzando l'operatore === il confronto fallisce in quanto il tipo intero è diverso dal tipo stringa
https://www.php.net/manual/en/types.comparisons.php