PHP fornece várias formas de atravessar arrays usando tanto funções de iteração de array como construções de linguagem: array_walk
array_map
array_filter
foreach
list
each
, e for
loops. Demonstramos e descrevemos foreach
e outras construções de looping nesta página. Cobrimos as funções de iteração noutra página.
para cada
PHP’s foreach
loop fornece uma forma conveniente de iterar sobre arrays. Existem duas formas: uma utiliza tanto a chave como o valor de cada entrada de matriz, enquanto a outra utiliza apenas o valor. Primeiro demonstramos o key => value
forma:
O corpo do laço usa echo
para mostrar a chave e o valor de cada elemento do array por sua vez.
Neste exemplo, foreach
utiliza apenas o valor dos elementos da matriz:
$pets = ;foreach ($pets as $val) { echo "$val \n";}/*Morie Miki Halo Winnie */
O foreach
construir pode ser usado para modificar os valores do array que atravessa usando o sinal de referência (&
):
list/each
Outra forma comum de atravessar arrays usa uma função while
loop with the list
language build and the each
function. O exemplo seguinte atinge o mesmo resultado que o primeiro foreach
exemplo mostrado acima:
Como se itera sobre a matriz, a função each
é utilizada para retornar o par de valores chave actual e avançar o ponteiro da matriz. A função list
é utilizada para atribuir a chave e o valor às variáveis. A função while
termina quando o último elemento da matriz é atingido. A função reset
é invocada para restaurar o ponteiro do array para o primeiro elemento do array.
O list
each
pode ser utilizado tanto com chave como com valor, ou apenas com valor. O exemplo seguinte produz o mesmo resultado que o segundo foreach
exemplo mostrado acima:
$pets = ;reset($pets);while ( list(, $val) = each($pets) ) { echo "$val \n";}/*Morie Miki Halo Winnie*/
for
A for
loop pode ser usado para iterar sobre arrays indexados numericamente, como demonstramos aqui:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { echo "$ar \n";}/*Rudi Morie Halo Miki */
O exemplo acima usado echo
para exibir o valor actual em cada iteração do laço. Também pode usar um for
loop para modificar os valores, como o seguinte demonstra:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { $ar *= 2;}print_r($ar);/* Array( => 2 => 4 => 6 => 8) */
PHP Array Iteration Functions
P>Descobrir mais sobre atravessar arrays em PHP usando as funções de interação: array_walk
, array_map
, e array_filter
.
Voltar para o topo