foreach

PHP 4 ( maar PHP 3 niet ) heeft een foreach construct , dat veel op die van PERL en sommige andere talen lijkt . Dit construct geeft een makkelijke manier om door een array te lopen . Er zijn twee syntaxes , de tweede is een kleine , maar handige , uitbreiding op de eerste :

 
foreach(

 
array_expressie

 
as

 
$waarde

 
)

 
statement

 
foreach(array_expressie

 
as

 
$key

 
=

 
$waarde

 
)

 
statement





De eerste vorm loopt door de array , aangegeven met array_expressie . In elke iteratie wordt de waarde van het huidige element in $waarde geplaatst en wordt de interne array pointer één positie verder gezet ( zodat in de volgende iteratie het volgende element wordt opgehaald ) .

De tweede vorm werkt precies zo , alleen zal de key van het element ook nog eens aan de variabele $key gekoppeld .

Opmerking : Als foreach Als foreach begint met het doorlopen van de array , dan wordt de interne array pointer automatisch gereset naar het eerste element van de array . Dit betekend dat je niet eerst reset( ) hoeft te gebruiken voor een foreach loop .



Opmerking :



Opmerking: foreach does not support the ability to suppress error messages using '@'.

De volgende twee voorbeelden zijn functioneel identiek aan elkaar :

 
reset

 
(

 
$arr)

 
;

 
while

 
(list(

 
,

 
$value

 
)

 
=

 
each

 
($arr)

 
)

 
{

 
echo

 
"Waarde

 
:

 
$value

 
br

 
\n"

 
;

 
}

 
foreach

 
($arr

 
as

 
$value

 
)

 
{

 
echo

 
"Waarde

 
:

 
$value

 
br

 
\n"

 
;

 
}



De volgende zijn ook functioneel aan elkaar:
 
reset

 
(

 
$arr)

 
;

 
while

 
(list($key

 
,

 
$value

 
)

 
=

 
each

 
($arr)

 
)

 
{

 
echo

 
"Key

 
:

 
$key

 
;

 
Waarde

 
:

 
$value

 
br

 
\n"

 
;

 
}

 
foreach

 
($arr

 
as

 
$key

 
=

 
$value

 
)

 
{

 
echo

 
"Key

 
:

 
$key

 
;

 
Waarde

 
:

 
$value

 
br

 
\n"

 
;

 
}





Hier volgen nog wat meer voorbeelden van het gebruik van deze functie :

 
/*

 
foreach

 
voorbeeld

 
1

 
:

 
alleen

 
de

 
waarde

 
*

 
/

 
$a

 
=

 
array

 
(

 
1

 
,

 
2

 
,

 
3

 
,

 
17)

 
;

 
foreach

 
($a

 
as

 
$v

 
)

 
{

 
print

 
"Huidige

 
waarde

 
van

 
\$a

 
:

 
$v.\n"

 
;

 
}

 
/

 
*

 
foreach

 
voorbeeld

 
2

 
:

 
waarde

 
(samen

 
met

 
de

 
key

 
ter

 
illustratie

 
)

 
*

 
/

 
$a

 
=

 
array

 
(1

 
,

 
2

 
,

 
3

 
,

 
17)

 
;

 
$i

 
=

 
0

 
;

 
/

 
*

 
alleen

 
ter

 
illustratie

 
*

 
/

 
foreach($a

 
as

 
$v

 
)

 
{

 
print

 
"\$a[$i

 
]

 
=

 
$k.\n"

 
;

 
}

 
/

 
*

 
foreach

 
voorbeeld

 
3

 
:

 
key

 
en

 
waarde

 
*

 
/

 
$a

 
=

 
array

 
(

 
"een

 
"

 
=

 
1

 
,

 
"twee

 
"

 
=

 
2

 
,

 
"drie

 
"

 
=

 
3

 
,

 
"zeventien

 
"

 
=

 
17

 
)

 
;

 
foreach($a

 
as

 
$k

 
=

 
$v

 
)

 
{

 
print

 
"\$a[$k

 
]

 
=

 
$v.\n"

 
;

 
}