Ich habe mit PHP Web-Entwicklung gelernt und ich bin ein wenig verwirrt über die anonymen Funktionen. Speziell was das Übergeben von Parametern betrifft und wie sie in einer solchen Funktion funktionieren. Zum Beispiel im CodeVerständnis anonyme Funktionen PHP
$array = array("really long string here, boy", "this", "middling length", "larger");
usort($array, function($a, $b) {
return strlen($a) - strlen($b);
});
print_r($array);
ich nicht wirklich bekommen, wie die Parameter $a
und $b
verwendet werden. Ich denke, dass sie zum Vergleich genommen werden, um das Array nach dem zu sortieren, wo es definiert ist, wie die Funktion sie verwenden und aus denen sie nehmen soll?
In einem Code wie die nächste
$mult = function($x)
{
return $x * 5;
};
echo $mult(2);
Ich weiß, dass der Parameter direkt an die Funktion übergeben wird, und verwendet, um das Ergebnis der Multiplikation zurückzukehren.
In diesem post das Beispiel
$arr = range(0, 10);
$arr_even = array_filter($arr, function($val) { return $val % 2 == 0; });
$arr_square = array_map(function($val) { return $val * $val; }, $arr);
, wo die Variable $val
aus genommen wird?
Ich weiß, vielleicht ist dies nicht so kompliziert, wie es scheint, aber ich bin wirklich verwirrt über die Verwendung der Parameter auf diese Art von Funktionen
Im Allgemeinen wollen Sie die Dokumentation für die äußere Funktion zB [array_map] (http://php.net/manual/en/function.array-map.php) in php nachschlagen oder [array.reduce] (https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) in JavaScript, um zu wissen, welche Parameter an den von Ihnen bereitgestellten Callback übergeben werden. – James