使用 Map 來操作集合中的每個元素
通常,你需要更改一組資料的構造方式並操作某些值。
在下面的例子中,我們得到了一系列帶有附加折扣金額的書籍。但我們寧願擁有一張價格已經打折的書籍清單。
$books = [
['title' => 'The Pragmatic Programmer', 'price' => 20, 'discount' => 0.5],
['title' => 'Continuous Delivery', 'price' => 25, 'discount' => 0.1],
['title' => 'The Clean Coder', 'price' => 10, 'discount' => 0.75],
];
$discountedItems = collect($books)->map(function ($book) {
return ['title' => $book["title"], 'price' => $book["price"] * $book["discount"]];
});
//[
// ['title' => 'The Pragmatic Programmer', 'price' => 10],
// ['title' => 'Continuous Delivery', 'price' => 12.5],
// ['title' => 'The Clean Coder', 'price' => 5],
//]
這也可用於更改金鑰,假設我們想將金鑰 title
更改為 name
,這將是一個合適的解決方案。