Amigos ao consultar o Manual do PHP fiquei com uma dúvida, depois de me deparar com o teste que fiz simplificado :
<?php
function inverso($x){
if(!$x){
echo "Todo Zero entra aqui!";
}
return 1/$x;
}
echo inverso(0);
echo inverso(5);
Minha dúvida está no If... Se eu passo o 5 como parâmetro ele não entra dentro do if e faz a divisão. Se eu passo o zero como parâmetro ele entra no If, pois tem uma negação ! e me retorna a mensagem "Todo zero entra aqui!".
O que queria saber é como o php entende que meu zero passado como parâmetro é verdadeiro a ponto de entra dentro do If.
Pois lemos assim sobre a negação !
! $x NÃO Verdadeiro se $x não é verdadeiro.
Isso tem haver com os valores boleanos, true 1 e false 0? Como estou passando um false representado por zero a Negação se torna verdade se minha variável é falsa? Preciso confirmar se minhas conclusões estão corretas.