Felipe Oliveira da Silva
Dicas de programação e portfólio
  • Javascript
  • MySQL
  • Outros
  • PHP
  • Trabalhos
    • Estrutura (CSS)
    • Hotsites
    • Sistemas
    • Websites
  • Web
PHP

Estruturas de repetição em PHP (while, do while, for e foreach)

Hoje vamos aprender um pouco mais sobre estruturas de repetição, também conhecidas como laços e loops. Estruturas de repetição servem para que, um bloco de instruções sejam executadas até que determinada condição seja satisfeita. Deve-se observar que, caso o bloco de instruções nunca modifique o estado da condição, a estrutura será executada para sempre, uma situação chamada laço infinito.

Em PHP temos os seguintes tipos de loops:
- While
- Do-while
- For
- Foreach

While

Loops while são o tipo mais simples de criar um loop em PHP. A sintaxe básica de um comando while é:

while (expressão){
      instruções
}

Exemplo:

Código
<?php

$i = 1;
while ($i<=10){
   echo $i++;
}

?>

Do while

Loops do-while são semelhantes aos loops while com a diferença de que os loops do-while primeiro executa o bloco de instruções e depois verifica se a expressão é verdadeira. A sintaxe básica de um comando do-while é:

do {
     instruções
} while (expressão)

Exemplo:

Código
<?php

$i = 0;
do {
   echo $i;
} while ($i > 0);

?>

O loop acima rodaria exatamente uma vez, porque ele executaria o bloco de instruções logo em seguida verificaria a expressão ($i > 0), ela é avaliada como FALSE ($i não é maior que zero), então a execução do loop terminaria.

For

Loops for são os laços mais complexos em PHP. A sintaxe básica de um comando for é:

for (expr1; expr2; expr3){
     instruções
}

A primeira expressão ‘expr1’ é executada uma vez incondicionalmente no começo do loop.
Antes de cada execução do bloco de instruções a ‘expr2’ é avaliada. Se a mesma for avaliada como TRUE, o loop continua e o bloco de instruções é executado. Se for avaliada como FALSE, a execução do loop termina.
No fim da execução do bloco de instruções a expressão ‘expr’ é avaliada (executada). E assim o loop volta a executar a expressão ‘expr1’ novamente.

Exemplo:

Código
<?php

for ($i=1;$i<=10;$i++) {
    echo $i;
}

?>

Foreach

Funciona somente com arrays, e lançará um erro se tentar utilizá-lo em uma variável de qualquer tipo diferente ou em variáveis não inicializadas. A duas sintaxes básicas para o comando. O segundo é uma abreviatura, mas útil do que primeira:

foreach (expressao_array as $valor)
     instruções

foreach (expressao_array as $chave => $valor)
     instruções

A primeira forma varre uma matriz dada por expressao_array. Em cada loop, o valor do elemento corrente é atribuído a $valor e o ponteiro interno da matriz é avançado em uma posição (assim, no próxima bloco de instruções você estará olhando para o próximo elemento).
A segunda forma faz a mesma coisa, só que a chave do elemento atual será atribuído à variável $chave em cada execução do bloco de instruções.

Exemplos:

Código
<?php

$arr = array(1, 2, 3, 4);
foreach ($arr as $value) {
    echo $value;
}

$arr = array(1, 2, 3, 4);
foreach ($arr as $key => $value) {
    echo "Chave: $key – Valor: $value";
}

?>

Postado em 21 de janeiro de 2009 às 11:46

9 Comentários »

Busca

  • Popular
  • Comentados
  • Últimos

  • Galeria de fotos com jquery - Demo 1
  • Criando tabelas no MySQL
  • Envio de e-mail com PHPMailer
  • Recebendo dados de formulário
  • Conectando ao Banco de Dados MySQL com PHP
  • Operadores (aritmético, comparação, lógico, atribuição)
  • Lightbox 2
  • Trabalhando com data no PHP
  • Redimensionando imagens em PHP
  • Programação Orientada a Objetos em PHP
  • Galeria de fotos com jquery – Demo 1 (84)
  • Envio de e-mail com PHPMailer (32)
  • Lightbox 2 (30)
  • Redimensionando imagens em PHP (19)
  • Criando abas com Javascript (16)
  • Conectando ao Banco de Dados MySQL com PHP (16)
  • Estruturas de repetição em PHP (while, do while, for e foreach) (9)
  • Criando tabelas no MySQL (9)
  • Até o "concorrente" usa GMAIL (9)
  • Recebendo dados de formulário (6)
  • Conectando ao Banco de Dados MySQL com PHP
  • Programação Orientada a Objetos em PHP
  • GOL Indica
  • Manga comunicação e marketing
  • Firefox 4.0 deve ser lançado em 2010
  • Google Street View se preocupa com a privacidade das pessoas
  • Atrações Educativas – Educar para crescer
  • Realidade aumentada
  • Projetos Residentes Roc
  • Office 2010 com nova proteção antipirataria

Categorias

  • Estrutura (CSS)
  • Hotsites
  • Javascript
  • MySQL
  • Outros
  • PHP
  • Sistemas
  • Web
  • Websites

Arquivos

  • dezembro 2009
  • outubro 2009
  • setembro 2009
  • agosto 2009
  • julho 2009
  • junho 2009
  • maio 2009
  • abril 2009
  • março 2009
  • fevereiro 2009
  • janeiro 2009
  • dezembro 2008
  • novembro 2008

Tags

abas array banco de dados Bing.com chrome classes Condicionais conexão construtor Cookie CSS domínio expressão FAQ firefox formulário função Funções Galeria de fotos gmail google google chrome google maps Hotmail IE IE7 IE8 IE9 Internet internet explorer Javascript jquery kingston Layout Microsoft MySQL métodos objetos PHP Portfólio SEO sistema tecnologia twitter Web

Lista de links

  • Eduardo Willian
  • Fred Carbonare
  • Jhonatan
  • Rafael Jaques

© Felipe Oliveira da Silva
Wordpress Theme designed by DT Website Templates