Guys, me deparei com uma situação que me gerou uma dúvida no funcionamento do if/elseif/else. Primeiramente, segue o código:
<?php
$a = 0;
$a = 1;
$a = "";
if ($a==0)
{
$b=" lalalalalalalala ";
}
elseif ($a==1)
{
$b=" lelelelelelelele ";
}
else {
$b= " lililililililili ";
}
echo $b;
O "$a" foi declarado várias vezes só pra exemplificar mesmo. Pois bem:
Quando $a é = 0, o programa entra no IF e printa "lalalalala...". (OK) Quando $a é = 1, o programa entra no ELSEIF e printa "lelelele...".(OK) Quando $a é = "", o programa entra no IF e printa "lalalala...". (NÃO OK)
Por que isto acontece? Ao meu ver, ele deveria entrar no ELSE. Queria saber oq ocorre com o PHP que não fica claro pra gente.
P.s.: Pra resolver isso, eu utilizei o operador " === ". Queria saber o motivo/como que o PHP chega nessa conclusão de que $a="" cai num if de condição $a==0.