Loops em PHP. Como usar loops while e do-while Para loops while em php

06.10.2023

Estou escrevendo este artigo para iniciantes que estão apenas começando a estudar PHP. Neste artigo vou falar sobre todos os tipos de loops em PHP, já que este artigo não estava no meu site. Só existiam, mas, apesar da semelhança geral, ainda não é a mesma coisa. EM PHP4 tipos de ciclos.

  1. ENQUANTO
  2. FAÇA ENQUANTO
  3. FOREACH

Vamos analisá-los em ordem e começar com os mais populares. loop em PHP(e não apenas em PHP) - Esse Laço FOR. A sintaxe deste loop é a seguinte:

For(Expressão_1; Expressão_2; Expressão_3) (
operadores
}

Expressão_1 realizado imediata e incondicionalmente, Expressão_3 executado após cada iteração do loop. Expressão_2é uma verificação para ver se o loop precisa continuar. Se o resultado da expressão for verdadeiro, então a próxima iteração do loop começa, e se falso, então o ciclo para de funcionar.

O próximo tipo de loop é ENQUANTO. Este é um tipo mais simples de loop cuja sintaxe é a seguinte:

Enquanto(Expressão) (
operadores
}

Tchau Expressão retorna verdadeiro, o loop será executado e assim que aparecer falso, ele para de funcionar.

Loop DO-WHILE muito parecido com ENQUANTO, mas com uma diferença. A condição de saída é verificada após a execução da iteração, não antes. Assim, este loop sempre executará pelo menos 1 uma vez. E assim Sintaxe do loop DO-WHILE:

Fazer(
operadores
)enquanto(Condição);

E finalmente, o último tipo de ciclo é foreach, que serve apenas para iterar sobre matrizes e objetos. É necessário quando as chaves do array não são números (que podem ser facilmente iterados através do mesmo PARA) e cadeias de caracteres. Sintaxe do loop FOREACH próximo:

Foreach($array_or_object as $key => $value) (
operadores
}

E finalmente, vamos aplicar tudo 4 tipos de loops em PHP para percorrer arrays:

$lista = matriz(5, 2, 3, 10, 12, 10);
$array = array("a" => 1, "x" => 10, "m" => -5);
para ($i = 0; $i< count($list); $i++) {
echo $lista[$i]."; ";
}
eco "
";
$i = 0;
enquanto ($i< count($list)) {
echo $lista[$i]."; ";
$eu++;
}
eco "
";
$i = 0;
fazer (
echo $lista[$i]."; ";
$eu++;
)enquanto($i< count($list));
eco "
";
foreach ($array como $chave => $valor) (
echo "$chave = $valor; ";
}
?>

Qualquer programador deve saber de cor todos esses loops, então se algo não estiver claro, leia novamente ou faça uma pergunta nos comentários, e tentarei responder.

Muitas vezes, ao escrever scripts, você precisa executar a mesma ação várias vezes. É para isso que servem os ciclos. Loops em php, como em outras línguas, são divididos em vários tipos:

  1. Loop com um contador for
  2. Loop com condição while, do-while
  3. Loop para percorrer matrizes foreach

Por exemplo, ao criar uma loja online, antes de exibir os produtos na tela, precisamos retirar os produtos cujo saldo de estoque seja inferior a 10. Para isso, percorrer a matriz com mercadorias, e usando o operador condicional se, verificamos a quantidade de mercadorias no armazém e removemos da matriz todas as mercadorias cujo valor no armazém é inferior a 10.

Loop for em PHP

Loop com um contador for- realizado um certo número de vezes. Vejamos um exemplo:

"; } ?>

Neste exemplo o loop será executado 11 vezes. De 0 (já que a variável $i = 0) a 10 (já que $i<= 10). Каждую итерацию $i будет увеличено на 1 ($i++). Чтобы было понятней, сделаем еще один пример:

"; } ?>

O loop será executado de 5 a 9($i< 10 (в предыдущем примере было <= 10)).

O loop também pode ser executado na ordem inversa:

5; $i--) ( echo "Número da iteração: $i
"; } ?>

O ciclo será executado das 10 às 5.

O ciclo também pode ser executado com um determinado passo, vejamos um exemplo:

"; } ?>

O loop realizará 3 iterações (0, 5, 10) com um passo de 5. A cada iteração, o contador do loop será incrementado em 5.

loop foreach em PHP

loop foreach- o ciclo mais comum. Obrigatório em quase todos os scripts, especialmente se o script PHP funcionar com bancos de dados. Usado para percorrer matrizes.

Por exemplo, vejamos um pequeno exemplo:

$valor) ( echo "Chave: $chave, Valor: $valor
"; } ?>

Ao executar o script você verá:

Chave: 0, Valor: vermelho Chave: 1, Valor: azul Chave: 2, Valor: verde Chave: cor, Valor: amarelo Chave: teste, Valor: design studio ox2.ru

Loop while em PHP

enquanto loopé usado para executar um loop, desde que uma condição seja atendida. Se a condição nunca for atendida, o loop entrará em loop.

Vejamos um exemplo:

"; } ?>

Na tela veremos números de 1 a 19

Loop Do-while em PHP:

Ciclo faça enquanto- funciona exatamente da mesma forma que enquanto loop, a única diferença é que a condição é satisfeita após a iteração. Vamos escrever um exemplo:

";) enquanto ($i< 20); //Выполняем цикл до те пор, пока $i < 20 ?>

Na tela veremos números de 1 a 20. Observe que no exemplo anterior com enquanto loop foi de 1 a 19, porque a condição foi satisfeita antes da iteração do loop.

A fim de quebrar o ciclo existe função de interrupção, ela permite saia do circuito, não importa quantas iterações faltam até o final do loop.

Para pular uma iteração e passar para a próxima iteração, há continuar função.

Na criação de sites, quase sempre são utilizados ciclos, independente do custo de criação do site, funcionalidade e outras coisas. Então leve-os a sério!

Muitas vezes, ao escrever scripts, você precisa executar a mesma ação várias vezes. É para isso que servem os ciclos. Os loops em PHP, como em outras linguagens, são divididos em vários tipos: Loop com contador for Loop com condição while e do-while Loop para percorrer arrays foreach

OX2 02/10/2014 02/10/2014

Em alguns casos, é necessário executar o código até que o resultado desejado seja alcançado. Para fazer isso, o PHP fornece loops while, for e foreach.

Sintaxe do loop while em PHP

Sintaxe cicloenquanto:

Um exemplo de uso de um loop while em PHP:

No exemplo do loop while do php acima, a variável de contador $i é inicializada primeiro com 0.

A condição do loop while é $i< 10 . Это означает, что мы проверяем, меньше ли переменная, чем 10.

Tudo o que está entre chaves são as instruções (corpo) do loop. Eles são repetidos enquanto a condição retornar true . No exemplo acima, $i é impresso na tela e então a variável do contador é incrementada em 1. Isso é importante para que a condição do loop acabe falhando. Se a condição do loop for sempre atendida, por exemplo, porque você esqueceu de incrementar a variável do contador $i , o script entrará em um loop infinito. Felizmente, o PHP irá parar de executar seu script depois de um tempo.

Você pode tornar a condição e o corpo do loop tão complexos quanto desejar. Por exemplo, use while inside while php, use php enquanto itera pelo array ( array ) ou defina mais de uma variável de contador:

$min) ( echo "contagem1: $contagem1; contagem2: $contagem2
"; $ counter1 += 2; // Expressão abreviada para $counter1 = $counter1 + 2; $counter2 -= 3; // Expressão abreviada para $count2 = $count2-3; ) ?>

O exemplo define duas variáveis: $counter 1 e $counter 2 . Uma variável é incrementada em 2 e a outra é decrementada em 3. O loop while é executado enquanto ambas as condições forem atendidas $ contagem 1< $ max и $ count 2 >$ min.

Efeito das palavras-chave break e continue em um loop

Usando o comando quebrar Pode interromper a execução do loop while em PHP. Digamos que estamos procurando um usuário específico. Então você pode passar por todos os usuários em um loop while. Se encontrarmos o usuário certo, paramos o loop usando palavra-chave quebrar.

Um exemplo simples de uso da palavra-chave break:

enquanto ($contar< $max) { if ($count == 10) { echo "Останавливаемся на числе 10"; break; } echo "$count,"; $counter += $increment; // увеличивает $count на значение $increment } ?>

Este código itera pelos números em ordem crescente de 0 a $max = 30, adicionando o valor de $increment à variável $count, ou seja, o número 2. Mas se a variável $count for igual a 10, o seguinte será acontecer: saindo do loop while php.

Palavra-chave continuar não encerra o loop while in php é completamente, mas apenas pula o resto do corpo do loop. O exemplo abaixo demonstra isso:

enquanto ($contar< $max) { $counter += $increment; // увеличивает $payer на $increment if ($count >= 10 && $contagem<= 15) { echo "Число между 10 и 15
"; continuar; )

echo "$contar
"; } ?>

Este loop começa em 0 e incrementa o contador até $max. A variável $counter é sempre incrementada pelo valor da variável $increment. Ou seja, assume os valores 0, 2, 4, etc.

Se a variável $count tiver um valor entre 10 e 15, o texto e o extrato serão impressos na tela continuar irá pular outras expressões no corpo do loop. Como resultado, vemos que os números 10, 12 e 14 não são produzidos.

loop do-while em PHP

Pequena modificação enquantoé um loop do - while. Neste caso, a condição do loop é verificada somente após seu corpo ter sido executado. Isto significa que o corpo do loop será executado pelo menos uma vez.

Sintaxe do loop Do-while:

Suponha que queremos gerar número aleatório, que deve estar entre 0 e 10 ou entre 20 e 30. De acordo com a definição da função rand ( $ mínimo, $ máximo) , você pode gerar aleatoriamente um número entre $min E $máx.:

10 && $aleatório< 20) { $random = rand (0, 30); }

echo "Nosso número aleatório: $random"; ?>

Usando loop php fazerenquanto, você pode obter o valor de uma expressão sem inicializar a variável $random. O corpo do loop é executado antes da condição ser testada. Então o exemplo acima ficaria assim:

10 && $aleatório< 20);

echo "Nosso número aleatório: $random"; ?>

Para um novato, o loop do-while pode ser um pouco confuso. Se você não entende completamente seu propósito, isso não é um problema. Os loops Do-while raramente são usados ​​na prática.

A sintaxe de um loop for é a seguinte:

Este loop consiste na palavra-chave for , seguida por parênteses contendo três expressões dentro, separadas por ponto e vírgula. Possui a seguinte ordem de execução:

  1. No início do loop, a expressão de inicialização é executada; ela é sempre avaliada (executada) apenas uma vez no início.
  2. O seguinte é uma expressão condicional. Antes do início de cada iteração, o valor da expressão condicional (condição de execução) é calculado; se for avaliado como TRUE, então o corpo do loop é executado; se for avaliado como FALSE, o loop termina; Se a condição for falsa no primeiro teste, o corpo do loop não será executado nem uma vez.
  3. No final, após realizar as ações no corpo do loop, a última expressão (a próxima expressão após a condição) é processada. Neste caso, esta é uma expressão incremental - incrementa o valor da variável do contador.

Um exemplo simples de loop for:

Na verdade, o loop for é quase universal porque permite o máximo opções diferentes sua aplicação.

for loop sem partes de cabeçalho

Cada uma das expressões no cabeçalho do loop for pode estar faltando.

Se a inicialização não for necessária ou ocorrer em outro lugar, uma expressão de inicialização não será necessária. Vamos reescrever um pouco o exemplo anterior:

Observe que o ponto e vírgula é obrigatório porque denota uma expressão ausente. A ausência de uma expressão de condição equivale a colocar o valor TRUE na condição.

Nesse caso, o loop será executado indefinidamente. Se não houver expressão de incremento, ela deverá estar no corpo do loop, caso contrário, o loop será executado indefinidamente.

Tenha em mente que qualquer uma ou todas as três expressões podem ser omitidas, mas sempre deve ser usado ponto e vírgula (;).

Várias expressões no cabeçalho de um loop for

No cabeçalho do loop for, cada expressão separada por ponto e vírgula pode conter várias expressões separadas por vírgulas. Portanto, expressões de qualquer complexidade podem ser utilizadas.

"; } ?>

Se a condição de execução utilizar diversas expressões separadas por vírgulas, todas serão avaliadas, mas o resultado será retirado da última.

Loops aninhados

Assim como as instruções condicionais, os loops podem ser aninhados. Um exemplo simples com um nível de aninhamento:

"; para ($j = 0; $j< 2; $j++) { echo "Вложенный цикл.
"; } } ?>

O loop foreach do PHP pode ser usado assim:

foreach($array_name as $value)( //código a ser executado)

foreach($array_name as $key =>$value)( // //código que deve ser executado)

Exemplo de uso de um loop foreach com uma matriz numérica

Neste exemplo criaremos um array de cinco elementos com valores numéricos. O loop foreach do PHP será então usado para iterar por esse array. Dentro do loop foreach usamos echo para imprimir os valores do array:

Ver demonstração e código

Exemplo com chaves e valores de array

Este exemplo descreve outra maneira de usar o loop foreach do PHP. Para fazer isso, criamos um array associativo de três elementos. Inclui os nomes dos funcionários ( como chaves) e o valor dos salários ( como valores):

Ver demonstração e código

Um exemplo de alteração do valor de um elemento de array em um loop foreach

Você também pode c usando PHP array foreach pode alterar os valores dos elementos do array. Para fazer isso, use "&" antes de "$" para variável de valor. Por exemplo:

&$valor_do_elemento

O valor será alterado. Para deixar mais claro, considere o exemplo a seguir.

Neste exemplo, criamos um array numérico de cinco elementos. Depois disso, usamos um loop foreach para exibir os valores dos elementos.

Em seguida, criamos outro loop foreach, onde "&" é adicionado antes de $value_of_element. Dentro das chaves atribuímos novos valores aos elementos do array.

Para ver a diferença antes e depois de atribuir novos valores, o array é exibido usando a função print_r().

Ver demonstração e código

Para que é usado o loop foreach do PHP?

O loop foreach do PHP é usado para trabalhar com um array. Ele itera sobre cada um de seus elementos.

Você também pode usar um loop for para trabalhar com arrays. Por exemplo, usando a propriedade length para obter o comprimento de um array e depois aplicá-lo como o operador max. Mas foreach torna tudo mais fácil, pois foi projetado para funcionar com arrays.

Se você trabalha com MySQL, então este ciclo é ainda mais adequado para isso. Por exemplo, você pode selecionar várias linhas de uma tabela de banco de dados e passá-las para um array. Depois disso, usando um loop foreach, itere todos os elementos do array e execute alguma ação.

Observe que você pode usar um loop foreach com um array ou apenas um objeto.

Usando um loop foreach

Existem duas maneiras de usar o loop PHP foreach em PHP. Ambos são descritos abaixo.

  • A sintaxe do primeiro método é:

foreach($array_name as $valor)( echo $valor )

Neste caso, você precisa especificar o nome do array e depois a variável $value.

Para cada iteração, o valor do elemento atual é atribuído à variável $value. Após a iteração ser concluída, a variável recebe o valor do próximo elemento. E assim por diante até que todos os elementos do array tenham sido iterados.

  • Sintaxe do segundo método ( PHP foreach como valor chave):

Isto é adequado para matrizes associativas, que usam pares chave/valor.

Durante cada iteração, o valor do elemento atual será atribuído à variável $value_of_element. Além disso, a chave do elemento é atribuída à variável $key_of_element.

Se estiver trabalhando com arrays numéricos, você pode usar o primeiro método, que não requer chaves de elemento.

Esta publicação é uma tradução do artigo “ PHP foreach loop 2 maneiras de usá-lo", elaborado pela simpática equipe do projeto