Funktion array_walk_recursive
Die Funktion array_walk_recursive wendet eine benutzerdefinierte
Funktion auf alle Elemente eines mehrdimensionalen Arrays an.
Sie gibt true bei erfolgreichem Abschluss
oder false im Fehlerfall zurück.
Als ersten Parameter akzeptiert die Funktion
ein Array und als zweiten - einen Callback.
An den Callback werden zwei Parameter übergeben. Als erster Parameter wird der Wert des Array-Elements übergeben, und als zweiter - der Schlüssel.
Das an die Funktion übergebene Array selbst wird nicht verändert. Dies kann jedoch durch die Übergabe des Elements als Referenz erreicht werden.
Syntax
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
Beispiel
Lassen Sie uns ein mehrdimensionales Array durchlaufen und seine Schlüssel und Elemente ausgeben:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function($elem, $key) {
echo $key . ' ' . $elem . '<br>';
});
?>
Ergebnis der Codeausführung:
'a 1'
'b 2'
'd 3'
'e 4'
Beispiel
Lassen Sie uns ein Array durchlaufen und seine Elemente quadrieren:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function(&$elem, $key) {
$elem = $elem ** 2;
});
var_dump($arr);
?>
Ergebnis der Codeausführung:
[
'a' => 1,
'b' => 4,
'c' => [
'd' => 9,
'e' => 16,
],
];
Siehe auch
-
die Funktion
array_walk,
die eine Funktion für Array-Elemente aufruft -
die Funktion
array_map,
die eine Funktion auf Array-Elemente anwendet -
die Funktion
array_filter,
die ein Array filtert -
die Funktion
array_reduce,
die ein Array reduziert