Informática Numaboa
PHP rapidinho
Qui 20 Abr 2006 15:35 |
- Detalhes
- Categoria: PHP
- Atualização: Sexta, 26 Junho 2009 20:36
- Autor: vovó Vicki
- Acessos: 51774
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:
Operador | Significado |
== | 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.
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:
Ó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:
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
É ó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.