foreach
O
PHP4
(
mas
não
o
PHP3
)
inclui
um
construtor
foreach
,
muito
parecido
com
o
PERL
e
outras
linguagens
.
Isto
oferece
uma
maneira
fácil
de
iterar
sobre
matrizes
.
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
.
Há
duas
sintaxes
;
a
segunda
é
uma
abreviatura
,
mas
útil
,
da
primeira
:
A
primeira
forma
varre
uma
dada
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
iteração
você
estará
olhando
para
o
próximo
elemento
)
.
A
segunda
forma
faz
a
mesma
coisa
,
exceto
pelo
fato
de
que
a
chave
do
elemento
atual
será
atribuído
à
variável
$chave
em
cada
iteração
.
Nota
:
Quando
o
foreach
Quando
o
foreach
inicia
sua
primeira
execução
,
o
ponteiro
interno
da
matriz
é
zerado
automaticamente
para
o
primeiro
elemento
do
array
.
Isto
significa
que
você
não
precisa
chamar
reset(
)
antes
de
um
loop
foreach
.
Nota
:
Note
também
que
foreach
opera
sobre
uma
cópia
do
array
especificado
,
não
o
próprio
array
,
portanto
o
ponteiro
da
array
não
é
modificado
como
na
instrução
each(
)
,
que
altera
o
elemento
do
array
selecionado
,
mas
isso
não
se
reflete
o
array
original
.
Nota:
foreach
tem a habilidade de evitar mensagens de erro com '@'.
Você
pode
ter
notado
que
os
seguintes
itens
são
funcionalmente
idênticos
:
Os seguintes também são funcionalmente idênticos:
Mais
alguns
exemplos
para
demonstrar
os
usos
: