私はPHPを使ってWeb開発を学んできましたが、私は匿名関数について少し混乱しています。具体的には、パラメータの受け渡しや、そのような関数の内部での動作について説明します。例えば は、コード匿名関数の理解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);
に私は本当にパラメータ$a
と$b
の使用方法を得ることはありません。私は彼らが比較のために配列をソートするために配列をソートすると思います。私は、パラメータを関数に直接渡され、乗算の結果を返すために使用されて知っている次の1
$mult = function($x)
{
return $x * 5;
};
echo $mult(2);
のようなコードで
。このpostで
変数$val
から取られ
$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);
の例?
のは、この例を見てみましょう私は多分、これはそれが思ったほど複雑ではありません知っているが、私は機能のこの種
一般的には、外部関数のドキュメントをphpや[array.reduce](httpsなど)で検索する必要があります。たとえば、[array_map](http://php.net/manual/en/function.array-map.php) ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)を使用して、提供するコールバックにどのパラメータが渡されるかを知ることができます。 – James