array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'control-structures.while.php', 1 => 'while', ), 'up' => array ( 0 => 'language.control-structures.php', 1 => 'Estruturas de Controle', ), 'prev' => array ( 0 => 'control-structures.alternative-syntax.php', 1 => 'Sintaxe Alternativa para estruturas de controle', ), 'next' => array ( 0 => 'control-structures.do.while.php', 1 => 'do-while', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'language/control-structures/while.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
Laços while
são os mais simples tipos de laços do
PHP. Possui comportamento semelhante ao C. O formato básico de uma
declaração while
é:
while (expr) statement
O propósito da declaração while
é simples. Ele
dirá ao PHP para executar as declarações aninhadas repetidamente, enquanto
a expressão do while
forem avaliadas como
true
. O valor da expressão é checado a
cada vez que o laço é iniciado, então, mesmo seu valor
mude durante a a execução das declarações aninhadas, a execução
não será interrompida até o final da iteração ( cada vez que o PHP executa
as declarações dentro do laço é uma iteração). Se a
expressão do while
for avaliada como
false
desde o início, as declarações
aninhadas não serão executadas nenhuma vez.
Similar a declaração if
, pode-se agrupar
múltiplas declarações no mesmo laço while
delimitando o grupo de declarações por chaves, ou
utilizando a sintaxe alternativa:
while (expr): statement ... endwhile;
Os exemplos a seguir são idênticos, e ambos imprimem os números de 1 a 10.
<?php
/* example 1 */
$i = 1;
while ($i <= 10) {
echo $i++; /* the printed value would be
$i before the increment
(post-increment) */
}
/* example 2 */
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>