PPHP biedt verschillende manieren om door arrays te gaan met behulp van zowel array iteratiefuncties als taalconstructies: array_walk
array_map
array_filter
foreach
list
each
, en for
loops. We demonstreren en beschrijven foreach
en andere looping constructies op deze pagina. We behandelen de iteratie functies op een andere pagina.
foreach
PHP’s foreach
loop biedt een handige manier om over arrays te itereren. Er zijn twee vormen: de ene gebruikt zowel de sleutel als de waarde van elke array entry, terwijl de andere alleen de waarde gebruikt. Eerst demonstreren we de key => value
vorm:
Het lichaam van de lus gebruikt echo
om achtereenvolgens de sleutel en de waarde van elk array-element weer te geven.
In dit voorbeeld gebruikt foreach
alleen de waarde van de array-elementen:
$pets = ;foreach ($pets as $val) { echo "$val \n";}/*Morie Miki Halo Winnie */
Het foreach
-construct kan worden gebruikt om de waarden van de array die het doorkruist te wijzigen door gebruik te maken van het verwijzingsteken (&
):
list/each
Een andere gebruikelijke manier om door arrays te gaan gebruikt een while
loop met de list
taalconstructie en de each
functie. Het volgende voorbeeld bereikt hetzelfde resultaat als het eerste foreach
voorbeeld hierboven:
Tijdens het itereren over de array wordt de each
functie gebruikt om het huidige key-value paar terug te geven en de array pointer vooruit te zetten. De list
functie wordt gebruikt om de sleutel en waarde aan variabelen toe te wijzen. De while
lus eindigt wanneer het laatste element in de array is bereikt. De reset
functie wordt aangeroepen om de array pointer terug te zetten naar het eerste element in de array.
De list
each
constructie kan worden gebruikt met zowel key als value, of alleen value. Het volgende voorbeeld geeft hetzelfde resultaat als het tweede foreach
voorbeeld hierboven:
$pets = ;reset($pets);while ( list(, $val) = each($pets) ) { echo "$val \n";}/*Morie Miki Halo Winnie*/
for
Een for
lus kan worden gebruikt om over numeriek geïndexeerde arrays te itereren, zoals we hier demonstreren:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { echo "$ar \n";}/*Rudi Morie Halo Miki */
In het bovenstaande voorbeeld werd echo
gebruikt om de huidige waarde bij elke iteratie van de lus weer te geven. U kunt ook een for
-lus gebruiken om de waarden te wijzigen, zoals het volgende demonstreert:
$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { $ar *= 2;}print_r($ar);/* Array( => 2 => 4 => 6 => 8) */
PHP Array Iteration Functions
Lees meer over het doorlopen van arrays in PHP met behulp van de interation functions: array_walk
array_map
, en array_filter
.
Terug naar boven