Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Procurando entender mais as exceções

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.

1 resposta
solução!

Exatamente... O PHP interpreta o 0 como false e quando negamos o 0 (utilizando o operador !), transformamos a expressão em verdadeiro.