Uczę się programowania stron internetowych za pomocą php i jestem trochę zmieszany z anonimowymi funkcjami. Dotyczy to w szczególności przekazywania parametrów i ich działania w takich funkcjach. Na przykład, w kodzieZrozumienie funkcji anonimowych 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);
naprawdę nie dostać, jak wykorzystywane są parametry $a
i $b
. Myślę, że są one brane do porównania w celu uporządkowania tablicy, gdzie jest zdefiniowane, w jaki sposób funkcja powinna z nich korzystać i odjąć je?
w kodzie jak następnego
$mult = function($x)
{
return $x * 5;
};
echo $mult(2);
wiem parametr jest przekazywany bezpośrednio do funkcji i używany do powrotu wynik mnożenia.
W tym post przykład
$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);
gdzie jest zmienna $val
pochodzi?
wiem, może to nie jest tak skomplikowane jak się wydaje, ale jestem naprawdę mylić o wykorzystaniu parametrów na tego rodzaju funkcji
Ogólnie rzecz biorąc, chcesz wyszukać dokumenty dotyczące funkcji zewnętrznej, np. [Array_map] (http://php.net/manual/en/function.array-map.php) w php lub [array.reduce] (https) : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) w javascript, aby dowiedzieć się, jakie parametry przekazuje się do wywołania zwrotnego, które chcesz przekazać. – James