Zum Inhalt springen

PHP Basics: Array durchlaufen (foreach, array_walk)

Natürlich kann man das Array klassisch mit einer for-Schleife ($i = 0; $i < count($array); $i++) durchlaufen, was aber nur praktikabel ist, wenn die Indices keine Lücken haben (ek klar!).

Demnach kommen wir nun gleich zu foreach:

Beispiel nur mit den Werten:

<?php
$myarray = array("Hans","Martin", "Rudolf");
foreach($array as $value) {
    echo $value;  
}
//HansMartinRudolf

Beispiel mit Schlüsseln und Werten:

<?php
$myarray = array(
'Name 1' => 'Hans',
'Name 2' => 'Martin',
'Name 3' => 'Rudolf'
);
foreach($array as $key => $value) {
    echo $key.' :'.$value.'<br />';  
}
/*
Name 1: Hans
Name 2: Martin
Name 3: Rudolf
*/

Nun möchten wir eine Funktion für jedes Element des Arrays ausführen. Dazu verwenden wir array_walk:

<?php

//Unsere Funktionen für den callback Parameter
function test_alter(&$item, $key, $prefix)
{
    $item = "$prefix: $item";
}

function test_print($item, $key)
{
    echo "$key.': '.$item<br />";
}

array_walk($myarray, 'test_print'); //ausgeben der Elemente

array_walk($myarray, 'test_alter', 'Vorname');

echo 'Nach Bearbeitung: <br />';

array_walk($myarray, 'test_print');  //ausgeben der Elemente

/* Ausgabe:
Name 1: Hans
Name 2: Martin
Name 3: Rudolf
Nach Bearbeitung:
Name 1: Vorname Hans
Name 2: Vorname Martin
Name 3: Vorname Rudolf
*/

 

 

 

 

Kommentare sind geschlossen, aber Trackbacks und Pingbacks sind möglich.