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.158 ]

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

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

Snort - Gerenciamento de redes

Nessus Portscanner

PHP e suas variáveis (básico)

Leitura recomendada

Verdades e mentiras sobre tecnologias WEB

Renascendo na Programação

Instalando e configurando o PHP 7.1 no CentOS 7

Sistema de notícias em PHP

Sistema de Gerenciamento de Conteúdo

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts