• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

comparar

5 mensagens neste tópico

Boas, deparei-me agora com uma situação curiosa

Se eu tiver numa varíavel o valor $cpto =  " Error detected";

se eu fizer isto if($cpto == 0 ) , porque ele raio ele retorna true ? :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Talvez porque a variavel cpto nao está defenida.... logo retorna false... (visto que estas A  verificar se é igual a zero ou FALSE )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok já percebi. Não costumo fazer comparaçoes de strings com números, porque mantenho uma certa rigidez no meu código mas está explicado:

If you compare an integer with a string, the string is converted to a number.

var_dump(0 == "a"); // 0 == 0 -> true

http://pt.php.net/operators.comparison

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok já percebi. Não costumo fazer comparaçoes de strings com números, porque mantenho uma certa rigidez no meu código mas está explicado:

http://pt.php.net/operators.comparison

Pois, enganei-me no código em cima, mas tinha os nomes iguais.. não sabia que ele convertia para numero :|

Ok, gracias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora