Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
Hábner nascimento

A desenvoltura do PHP

Recommended Posts

O jeito como o PHP trata as situações e adversidades são no mínimo interessante, o código muitas vezes pode ser entendido de algumas formas o que definitivamente não é bom. Uma expressão não pode ser subjetiva ou "cruze os dedos e torça pra dar certo". O php através de sua irrelutável flexibilidade nos coloca em situações no entanto embaraçosas, tipo:

echo print 3 + 2; // output 51

São questões como essa que nos surpreende, não bastando apenas escrever mas compreender o que escrevemos. Olhando direitinho o código acima faz sentido não é?...faz? o nosso código executa cada função na sua respectiva ordem o que é normal o echo executa print que executa e imprime a expressão 3 + 2 resultando em 5, o retorno do print é sempre 1, logo temos 51 porque print imprime para depois retornar o número 1 que será impresso pelo echo, entendido?.

echo print (3) + 2 * 2; // output 71 porque 2 * 2 = 4 => 4 + 3 = 7

echo print (3 + 2) * 2; // output 101 porque 3 + 2 = 5 => 5 * 2 = 10

tanto o print como o echo são construtores da linguagem o que quer dizer que o uso dos parênteses não são obrigatórios, porém apenas o print retorna algum valor e pode ser usado como parte de uma expressão.

$idade = 18;

echo $idade < 18 ? print 'menor' : print 'maior';

e aí qual a saída do código acima? se você pensou 'maior1' acertou, o que você acha dessa maneira com que o php trata as coisas que muitas vezes para nós é cabuloso?

Este post foi editado por Hábner Nascimento: 08/10/2009, 13:31

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem interessante, temos que lembrar também que print é utilizado para expressões mais complexas diferente do echo por exemplo

$arg ? print "true" : print "false"; // false

porém

$arg ? echo "true" : print "false"; // irá retornar um parser error

desta forma temos que saber quando aplicar print ou echo

por exemplo se fizer a chamada direta

print(3+2);

ou

echo 3+2;

você terá o retorno 5 em ambas expressões.

Bacana o tópico parabéns : )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×
×
  • Criar Novo...