Doorkruisen van Arrays in PHP

PPHP biedt verschillende manieren om door arrays te gaan met behulp van zowel array iteratiefuncties als taalconstructies: array_walkarray_maparray_filterforeachlisteach, 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 listeach 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_walkarray_map, en array_filter.

Terug naar boven

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *