私はコードを読んでいて、この構文に出くわしました:
$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のドキュメントをご覧ください。