A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa

PHP rapidinho

Qui

20

Abr

2006


15:35

(155 votos, média 4.52 de 5) 


Condições e Operadores

Basicamente, a definição de uma condição é: "Testar se um estado é falso ou verdadeiro". Na vida real, testamos constantemente condições: está fazendo frio? estou com sede? e por aí vai. Na programação a coisa não é muito diferente e a declaração IF nos permite realizar a tarefa de testar condições. Veja no exemplo abaixo:

Inicialmente criamos a variável 'nome' e lhe atribuímos o valor "João". Depois queremos saber se a variável contém realmente "João". É onde entra a declaração IF (cuja tradução literal é SE). A declaração if($nome == "João") pode ser traduzida para "se a variável 'nome' for igual a "João", então estamos certos". Caso estejamos certos, mostramos um determinado texto. Aliás, tudo o que quisermos que aconteça se estivermos certos é colocado entre chaves. O código entre chaves é chamado de 'bloco'.

Depois usamos a palavra 'else', cuja tradução literal é 'caso contrário', para definir o que deve acontecer caso a declaração não seja verdadeira. Novamente, tudo o que quisermos que aconteça caso a declaração não seja verdadeira também deve ser colocado num 'bloco' delimitado por chaves.

Experimente trocar o valor da variável 'nome' por "Maria" e rode novamente o script. Você vai constatar que o texto mostrado pela função echo() é o do 'bloco else'.

O == é chamado de operador de comparação e não é o único que existe. Veja outros operadores de comparação na tabela abaixo:

OperadorSignificado
==Igual a
!=Diferente (ou não igual a)
<Menor que
>Maior que
<=Menor ou igual a
>=Maior ou igual a

Existem outros operadores de comparação no PHP mas, por enquanto, podem ficar de fora. No momento é mais importante manter o foco na declaração IF.

info Preste atenção! Um erro muito comum de programação é colocar ponto-e-vírgula depois da chave de fechamento. NÃO O FAÇA! Chaves são apenas delimitadores de blocos, não são declarações. Portanto, não precisam de terminadores.

Agora, escreva este código:

"); } if($numero != 6) { echo("O número é diferente de 6.<br>"); } if($numero < 6) { echo("O número é menor do que 6.<br>"); } if($numero > 6) { echo("O número é maior do que 6.<br>"); } if($numero <= 6) { echo("O número é menor ou igual a 6.<br>"); } if($numero >= 6) { echo("O número é maior ou igual a 6.<br>"); } ?>

Ótimo. Teste o script. Troque o valor da variável 'numero' e verifique o que acontece. Fácil, né não?

Bem, a esta altura você deve estar pensando "a última linha do script está desformatada. A vovó fez caca!". Pois é, esta última linha foi deliberadamente "desformatada" para mostrar a importância dos delimitadores. Tanto faz como você escreve as declarações de um bloco. Não são as quebras de linha ou os espaços adicionais que enviam solicitações ao interpretador PHP - ele atende APENAS declarações e comandos. O script arrumadinho é apenas para facilitar a leitura do programador e, quanto mais ordem, mais fácil é a leitura. O script acima poderia ter o formato a seguir e, ainda assim, seria corretamente executado:

");}if( $numero!=6){echo("O número é diferente de 6.<br>");}if($numero<6) {echo("O número é menor do que 6.<br>");}if($numero>6){echo( "O número é maior do que 6.<br>");}if($numero<=6){ echo("O número é menor ou igual a 6.<br>");}if($numero>=6){echo ("O número é maior ou igual a 6.<br>");}?>

Deixo a formatação ao seu critério. A escolha é sua...

A declaração IF pode ser um pouco mais elaborada para atender nossas necessidades. Veja abaixo:

Já deu para perceber que tem novidade. Criamos a variável 'nome' e lhe atribuímos o valor "João". A seguir testamos este valor comparando-o com "Júlia". Se o valor for igual a "Júlia", o texto do 'bloco-if' é mostrado. Como não é este o caso, a próxima declaração é analisada - a declaração 'elseif' - ou seja, 'caso contrário se'. O valor da variável 'nome' é então comparado com "Helena". Se fosse igual, o texto do 'bloco-elseif' seria mostrado. Novamente não é o caso e o interpretador segue para a próxima declaração: caso contrário (else) mostre o texto. É o que acaba ocorrendo e o texto "O valor da variável 'nome' não é Júlia nem Helena" é mostrado.

Por enquanto, isto é tudo sobre as declarações de condição. Agora vamos dar uma espiada em operadores de incremento e decremento. O nome pode parecer feio, mas a coisa é muito simples. Acompanhe.

Declaramos a variável 'numero' e lhe atribuímos o valor 1. A seguir, aplicamos o operador de incremento ++ nesta variável e que soma 1 ao valor original. Agora a variável 'numero' guarda o valor 2, exatamente o que a função echo() vai por na tela. E pronto... isto é tudo o que o operador de incremento faz smile

É óbvio que, se o operador de incremento aumenta em 1 o valor de uma variável, o operador de decremento -- faz o contrário: vai diminuir o valor da variável em 1.

Loops

A tradução literal de loop é 'curva, volta, alça'. Geralmente encontramos a tradução alça porém, como no caso das strings, é mais fácil e cômodo manter o termo original.

Existem dois tipos básicos de loops no PHP: o loop while e o loop for. Vamos a um exemplo do loop while, tendo em mente que 'while' significa 'enquanto':

Criamos a variável 'i' e lhe demos o valor zero. A seguir, iniciamos um 'loop while' e delimitamos seu bloco com chaves. O código deste bloco é executando ENQUANTO a condição while($i < 5) for válida, ou seja, mostra o valor de 'i' e depois o incrementa em 1. Quando o valor de 'i' for igual a 5, a condição da declaração 'while' deixa de ser verdadeira e o script é finalizado. É claro que, se você não fornecer pelo menos uma condição para sair do loop, o script roda o 'bloco-while' indefinidamente e o programa "pendura".

Vamos por partes. Um 'loop for' tem três partes: inicialização, condição e avaliação. No contexto, é algo como:

    for(inicialização; condição; avaliação) {
        aqui vai o código do bloco
    }
  • Inicialização: na primeira parte precisamos indicar como o interpretador deve começar, ou seja, como inicializar o loop. No exemplo, inicializamos o processo declarando uma variável 'i' que contém o valor zero.
  • Condição: esta etapa indica a condição que deve ser testada e que determina a permanência (ou saída) do loop - no exemplo, enquanto a variável 'i' tiver um valor menor do que 10.
  • Avaliação: é a etapa que indica o que deve ser feito se a condição for verdadeira - no exemplo, incrementar a variável 'i' em 1 (indicado por $i++).

A seguir, escrevemos o bloco de código referente ao 'loop-for'. Este bloco será executado tantas vezes quantas forem verdadeiras as condições testadas ($i < 10), ou seja, o valor da variável 'i' será mostrado na tela enquanto 'i' for menor do que 10. O resultado do exemplo será 0123456789.

Informações adicionais