Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied in der Verwendung zwischen der Funktion array_map und der Funktion array_walk in PHP

Der Unterschied in der Verwendung zwischen der Funktion array_map und der Funktion array_walk in PHP

不言
不言Original
2018-08-15 09:31:432401Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Verwendungsunterschied zwischen der Funktion array_map und der Funktion array_walk in PHP. Ich hoffe, dass er für Sie hilfreich ist.

array_map():
1. Die Funktion array_map() wendet die benutzerdefinierte Funktion auf jeden Wert im Array an und gibt das Band zurück, nachdem die benutzerdefinierte Funktion angewendet wurde . Wenn bei einem Array mit neuen Werten nach der Anwendung der Funktion kein Rückgabewert vorhanden ist, ist das entsprechende neue Wertearray leer.
2. Die Anzahl der von der Callback-Funktion akzeptierten Parameter sollte mit der Anzahl der an die Funktion array_map() übergebenen Arrays übereinstimmen.
3. Tipp: Sie können ein oder mehrere Arrays in die Funktion eingeben.

Wenn die Phasenfunktion zwei Arrays eingibt, sollte ihre Funktion auch zwei Parameter akzeptieren. Wenn Map einen Wert an die Funktion übergibt, nimmt sie jedes Mal einen von den beiden Arrays und übergibt ihn an die Funktion
. Das heißt, mehrere Arrays werden synchron übermittelt, anstatt ein Array und dann das nächste
zu senden, um mehrere Arrays zu senden. Die Funktion muss auch mehrere Parameter

haben. 4. Syntax: array array_map (aufrufbar arr1 [, array $… ] )

Beispiel:

<?php //单数组形式
function myfunction($v){
    if ($v==="Dog")
    {        
    return "Fido";
    }    
    return $v;
}
$a=array("Horse","Dog","Cat");
print_r(array_map("myfunction",$a));//多数组形式
function myfunction1($v1,$v2){
    if ($v1===$v2)
    {        
    return "same";
    }    
    return "different";
}
$a1=array("Horse","Dog","Cat");
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction1",$a1,$a2));
?>

array_walk():
1. array_walk – Verwenden Sie benutzerdefinierte Funktionen, um eine Rückrufverarbeitung für jedes Element im Array durchzuführen
2. Syntax: bool array_walk ( array &

funcname [, gemischt $userdata = NULL ] )

Parameter:

$array Das Eingabearray. $funcname-Rückruffunktion, normalerweise akzeptiert $funcname zwei Parameter.

Der Wert des $array-Parameters wird als erster und der Schlüsselname als zweiter verwendet.

$userdata Wenn der optionale Parameter $userdata angegeben wird, wird er als dritter Parameter an $funcname übergeben.

Hinweis:

Wenn $funcname direkt auf die Werte im Array einwirken muss, geben Sie den ersten Parameter von funcname als Referenz an (add das kaufmännische Und) ). Auf diese Weise
verändern alle Änderungen an diesen Zellen auch das ursprüngliche Array selbst.

Rückgabewert:

Gibt TRUE bei Erfolg oder FALSE bei Fehler zurück.

Beispiel:

<?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 />\n";
}echo "Before ...:\n";//单数组
array_walk($fruits, &#39;test_print&#39;);//带额外参数
array_walk($fruits, &#39;test_alter&#39;, &#39;fruit&#39;);
echo "... and after:\n";
array_walk($fruits, &#39;test_print&#39;);

Die obige Routine gibt Folgendes aus:

Before ...:
d. lemon
a. orange
b. banana
c. apple ... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

Wichtiger Punkt:

map dient hauptsächlich dazu, das neue Array von Ihrer Callback-Funktion verarbeiten zu lassen. Was Sie wollen, ist das Ergebnis.

Walk verwendet Ihre Callback-Funktion hauptsächlich einmal für jeden Parameter. Wichtig ist der Verarbeitungsprozess.

walk kann als zusätzliche Parameter für die Callback-Funktion betrachtet werden,

walk kann nicht hauptsächlich auf jeden Wert im Array angewendet werden, und das Operationsergebnis wirkt sich hauptsächlich auf das ursprüngliche Array aus Geben Sie nach der Bearbeitung der Werte im Array das Array zurück, um ein neues Array zu erhalten

walk Es ist nicht erforderlich, eine Wertezuordnung zurückzugeben, da das Array gefüllt werden muss

Empfohlene verwandte Artikel:

Was ist der Unterschied zwischen der Funktion include() und der Funktion require() in PHP?

PHP: Array Operationsfunktionen array_walk() und array_map()

Der Unterschied zwischen array_map, array_filter und array_walk in PHP

Das obige ist der detaillierte Inhalt vonDer Unterschied in der Verwendung zwischen der Funktion array_map und der Funktion array_walk in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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