Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der Anwendung benutzerdefinierter Funktionen durch PHP array_walk auf jedes Element im Array

Detaillierte Erklärung der Anwendung benutzerdefinierter Funktionen durch PHP array_walk auf jedes Element im Array

高洛峰
高洛峰Original
2016-12-12 10:17:221391Durchsuche

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:

Detaillierte Erklärung der Anwendung benutzerdefinierter Funktionen durch PHP array_walk auf jedes Element im Array

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, &#39;test_print&#39;);
array_walk($fruits, &#39;test_alter&#39;, &#39;fruit&#39;);
echo "... and after:<br />";
array_walk($fruits, &#39;test_print&#39;);
?>

Laufergebnis:

Vor ...:
d . Zitrone
a . Orange
c . Apfel
... und danach:
d . Frucht : Orange
b
c . Frucht: Apfel

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn