Heim > Artikel > Backend-Entwicklung > Detaillierte Erklärung der Anwendung benutzerdefinierter Funktionen durch PHP array_walk auf jedes Element im Array
php array_walk wendet benutzerdefinierte Funktionen auf jedes Element im Array an
array_walk verwendet benutzerdefinierte Funktionen, um eine Rückrufverarbeitung für jedes Element im Array durchzuführen
Grundlegende Syntax
bool array_walk ( array &$array , callable $funcname [, Mixed $userdata = NULL ] )
Wenden Sie die benutzerdefinierte Funktion funcname auf jede Zelle im Array an.
array_walk() wird vom internen Array-Zeiger des Arrays nicht beeinflusst. array_walk() durchläuft das gesamte Array, unabhängig von der Position des Zeigers.
Parametereinführung:
Beschreibung:
1. Die Funktion array_walk() wendet eine Rückruffunktion auf jedes Element im Array an. Gibt bei Erfolg TRUE zurück, andernfalls FALSE.
2. Normalerweise akzeptiert funname zwei Parameter. Als erster Wert wird der Wert des Array-Parameters und als zweiter der Schlüsselname verwendet. Wenn der optionale Parameter userdata angegeben wird, wird er als dritter Parameter an die Callback-Funktion übergeben.
3. Wenn die Funktion funname mehr Parameter als angegeben erfordert, wird jedes Mal ein Fehler der Stufe E_WARNING generiert, wenn array_walk() funname aufruft. Diese Warnungen können unterdrückt werden, indem dem array_walk()-Aufruf der PHP-Fehleroperator @ vorangestellt wird oder indem error_reporting() verwendet wird.
4. Wenn die Rückruffunktion direkt auf die Werte im Array reagieren muss, kann der erste Parameter der Rückruffunktion als Referenz angegeben werden.
Rückgabewert
Gibt TRUE bei Erfolg und FALSE bei Fehler zurück.
Instanz:
<?php $fruits = array( "d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple" ); function test_alter(&$item1, $key, $prefix) { $item1 = " $prefix : $item1 "; } function test_print($item2, $key) { echo " $key . $item2 <br />"; } echo "Before ...:<br />"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:<br />"; array_walk($fruits, 'test_print'); ?>
Laufergebnis:
Vor ...:
d . Zitrone
a . Orange
c . Apfel
... und danach:
d . Frucht : Orange
b
c . Frucht: Apfel