Ato 3 - Estrutura de Controle e Funções

Artigo de nível básico para aqueles que estão iniciando no PHP, talvez um pouco resumido, mas acredito que seja elucidativo.

[ Hits: 23.125 ]

Por: woshington rodrigues em 13/08/2010


Estruturas de Controle - Iterações



While

É uma estrutura de repetição que executa um comando até que uma determinada condição seja satisfeita, cada vez que este comando é executado é feito o que é chamado de loop, ou seja, há uma volta no laço, é uma maneira de se repetir um bloco de código sem ser necessário reescreve-lo, automatizando o processo de repetição, a estrutura básica do WHILE é a seguinte:

<?php

$x = 10;
while ( $x >= 0 ) { //Enquanto x for maior ou igual a zero
   echo $x -- ; //sera diminuido 1 de x a cada laço.
}

?>

Assim como o if, o WHILE também tem uma sintaxe alternativa, confira:

<?php

$x=1;
while($x<5):
   echo $x++;
endwhile;

?>

Do-while

Há uma alteração em relação a estrutura while, no DO WHILE a iteração é feita no início do script e não no final, o comando é executado antes de testar a condição. Desta forma use o DO WHILE se você precisa que o comando seja executado pelo menos uma vez, independente do retorno da condicional.

<?php

$x = 1;
do {
   echo $x++; //este imprimiria 1
} while( $x < 1 )

?>


<?php

$x = 1;
while( $x < 1) {
   echo $x ++ //este não imprimiria nada
}

?>

For

É um tipo de loop assim como o while e o do-while, tem suas peculiaridades e pode-se dizer que sua complexidade é um pouco maior que a dos outros, a sintaxe básica do for é a seguinte:

for( $atribuicao = 0 ; $condicional < = 0; $incremento++) {
   echo comandos;
}

1° termo. A atribuição é caracterizada pela inicialização de uma variável qualquer, poderia ser por exemplo $x = 0.

2° termo. A condicional é avaliada se retornar verdadeiro o loop segue em frente, caso retorne falso, o loop é interrompido. Se o valor for vazio, se for omitido o segundo termo ou qualquer um dos 3 termos do for então ele será considerado sempre verdadeiro, a menos que seja usado um break, exemplo:

<?php

for(  $x=0; ;$x++ ) {
   if($x > 5) {
      break;
   }
   echo $x;
}

?>

3° termo. O incremento, que pode ser uma operação matemática qualquer, é executado assim que a condicional é validada como true.

O for pode conter várias inicializações com variáveis diferentes, pode ter várias condicionais e vários incrementadores ou decrementadores, para isto basta que sejam separados por vírgula. Abaixo um exemplo demonstrando como calcular um fatorial com o uso de um for, através de uma função.

<?php

function fatorial($param) {
      
   for ($c=$param, $fat=1;  $c>0;  $fat*=$c, $c--); /* o for é encerrado aqui, as chaves são necessárias apenas quando você deseja inserir instruções de comando no nosso caso precisamos apenas do valor de retorno */
      return $fat;
   }
   print fatorial(6);

?>

Foreach

O foreach é um for especializado em arrays, e só pode ser utilizado desta forma, ele retornará um erro se o usuário informar um outro tipo de dado que não seja um array. Existem duas maneiras de usar o foreach, na maneira mais simples é informado a array e esta é copiada para uma outra array, na maneira mais complexa a array é copiada e juntamente com ela também são copiados os índices com seus respectivos valores.

<?php

foreach( $array as $value) {
   echo $value; //retornará todos os valores contidos no array.
}

foreach( $_SERVER as $key => $value) {
   echo "$key => $value <br />"; /* retornará o array e os índices do array neste exemplo serão retornadas todas as variáveis de ambiente do php */
}

?>

A cláusula as irá copiar o conteúdo de $_SERVER para $value. O foreach é sem dúvida um excelente recurso no trato com arrays.

Página anterior     Próxima página

Páginas do artigo
   1. Estruturas de Controle - Condicionais
   2. Estruturas de Controle - Iterações
   3. Estruturas de Controle - Comandos básicos de sequenciação
   4. Funções
Outros artigos deste autor

Snort - Gerenciamento de redes

PHP e suas variáveis (básico)

Nessus Portscanner

Ato 2 - comandos de saída, constantes e operadores em PHP (básico)

Leitura recomendada

Introdução a Orientação a Objetos no PHP4

PHP Orientado a Objetos: Para quem está começando

Verdades e mentiras sobre tecnologias WEB

Instalando e configurando o PHP 7.1 no CentOS 7

MVC - Conceito e exemplo em PHP

  
Comentários
[1] Comentário enviado por everton_fuzz em 13/08/2010 - 13:07h

só faltou o operador ternário.

Se(<condição>) ? <instruções para verdadeiro> : <instruções para falso>;

de resto esta ótimo!. parabens!

[2] Comentário enviado por wos- em 13/08/2010 - 13:42h

valeu irmão,
eu pensei em colocá-lo, mas é que eu já tinha falado sobre ele no artigo anterior.

[3] Comentário enviado por metalpunkpointer em 18/08/2010 - 11:49h

olá wos, fica um adendo que a sintaxe alternativa tbm se aplica aos laços...

while(condicao):
instruções;
endwhile;

[4] Comentário enviado por walkerjosh em 20/08/2010 - 23:06h

Amigo WOS, ficou bacana sua explicação! Poste mais coisas de PHP pra gente! Valeu!

[5] Comentário enviado por marcelo linus em 22/08/2010 - 00:35h

manero msm, vlw, coloca mais coisa ai pra gente,!!


Contribuir com comentário