array_walk_recursive
array
Array Funktionen
PHP Manual

# array_walk

(PHP 4, PHP 5)

array_walk — Wendet eine Benutzerfunktion auf jedem Element eines Arrays an

### Beschreibung

bool array_walk ( array `&$array` , callback `$funcname` [, mixed `$userdata` ] )

Wendet die mittels `funcname` angegebene Benutzerfunktion auf jedes Element von `array` an.

array_walk() ist nicht von dem internen Arrayzeiger von `array` betroffen. array_walk() geht ungeachtet der Zeigerposition das gesamte Array durch.

### Parameter-Liste

`array`

  Das Eingabe-Array.

`funcname`

  Typischerweise akzeptiert `funcname` zwei Parameter. Der Wert von `array` wird als erster übergeben, und der Schlüssel/Index als zweiter.

  > Hinweis: Wenn `funcname` direkt mit den Werten des Arrays arbeiten soll, spezifizieren Sie den ersten Parameter von `funcname` als Referenz. Dann werden alle Änderungen an diesen Elementen direkt in dem originalen Array durchgeführt.

  Das `array` sollte nicht innerhalb der Callbackfunktion geändert werden, d.h. es sollten keine Elemente hinzufügt oder gelöscht werden etc. Wenn das Array, auf das array_walk() angewendet wird, geändert wird, ist der Verhalten dieser Funktion nicht definiert und auch nicht vorhersagbar.

`userdata`

  Wenn der optionale Parameter `userdata` angegeben ist, wird er als dritter Parameter dem Callback `funcname` übergeben.

### Rückgabewerte

Gibt bei Erfolg `TRUE` zurück. Im Fehlerfall wird `FALSE` zurückgegeben.

### Fehler/Exceptions

Sollte die Funktion `funcname` mehr als die ihr übergebenen Parameter benötigen, wird bei jedem Aufruf von `funcname` durch array_walk() eine Fehlermeldung der Stufe E_WARNING generiert. Diese Warnmeldungen können unterdrückt werden, indem man dem Funktionsaufruf von array_walk() den Operator @ voranstellt, oder error_reporting() verwendet.

### Beispiele

Beispiel #1 array_walk()-Beispiel

`<?php
$fruits = array("d" => "Zitrone", "a" => "Orange", "b" => "Banane", "c" => "Apfel");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br>\n";
}
echo "Vorher ...:\n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'Frucht');
echo "... und nachher:\n";
array_walk($fruits, 'test_print');
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Vorher ...:
    d. Zitrone
    a. Orange
    b. Banane
    c. Apfel
    ... und nachher:
    d. Frucht: Zitrone
    a. Frucht: Orange
    b. Frucht: Banane
    c. Frucht: Apfel

### Siehe auch

- array_walk_recursive() - Wendet eine Benutzerfunktion rekursiv auf jedes Element eines Arrays an
- iterator_apply() - Call a function for every element in an iterator
- create_function() - Erzeugen einer anonymen / temporären (Lambda-Stil) Funktion
- list() - Weist Variablen zu, als wären sie ein Array
- each() - Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
- call_user_func_array() - Call a user function given with an array of parameters
- array_map() - Wendet eine Callback-Funktion auf die Elemente von Arrays an
- Informationen über den Callback-Typ
- foreach

array_walk_recursive
array
Array Funktionen
PHP Manual