私はコードを読んでいて、この構文に出くわしました:
$customerIDs = array_map(function(Customer $customer) { return $customer->id; }, $customers);
は$customers配列です。
私の混乱は理解しようとすることfunction(Customer $customer)です。Customerそれはクラスだと思いますが、$customerそれではどうしますか?
私はコードを読んでいて、この構文に出くわしました:
$customerIDs = array_map(function(Customer $customer) { return $customer->id; }, $customers);
は$customers配列です。
私の混乱は理解しようとすることfunction(Customer $customer)です。Customerそれはクラスだと思いますが、$customerそれではどうしますか?
この部分:
function(Customer $customer) { return $customer->id; }
匿名関数です。これは、PHP5.3の「新」機能です。これは、次とほぼ同等です。
function someFunction(Customer $customer) {
return $customer->id;
}
$customerIDs = array_map('someFunction', $customers);
部分に関してはCustomer $customer、それは単なる型に制約のある議論です。渡された引数がタイプでない場合はエラーをスローしますCustomer。
匿名関数の詳細については、php.netのドキュメントをご覧ください。