$products = collect(load_json('products.json')['products']);
$lampsAndWallets = $products->filter(function($product) {
return collect(['Lamp', 'Wallet'])->contains($product['product_type']);
})
$products = collect(load_json('products.json')['products']);
$lampsAndWallets = $products->filter(function($product) {
return collect(['Lamp', 'Wallet'])->contains($product['product_type']);
})->map(function($product) {
return $product['variant'];
})->flatten(1);
bu kombinasyon sayesinde dizi içinden bir key'i aldık, sonrada iç içeliği 1 seviye düzleştirerek yeni diziyi o key'den ibaret yaptık. Bunun ikisini bir arada yapabileceğimiz metod flatMap()
$products = collect(load_json('products.json')['products']);
$lampsAndWallets = $products->filter(function($product) {
return collect(['Lamp', 'Wallet'])->contains($product['product_type']);
})->flatMap(function($product) {
return $product['variant'];
});
$collection = collect([
['name' => 'Sally'],
['school' => 'Arkansas'],
['age' => 28]
]);
$flattened = $collection->flatMap(function ($values) {
return array_map('strtoupper', $values);
});
// ['name' => 'SALLY', 'school' => 'ARKANSAS', 'age' => '28'];
->map(function($item) { return $item['points']; })
ile amacımız dizideki bütün nesnelerdeki 'points' değerine ulaşmak... bu çok ihtiyaç duyulan operasyon için direk pluck() kullanılabilir.$collection = collect([
['product_id' => 'prod-100', 'name' => 'Desk'],
['product_id' => 'prod-200', 'name' => 'Chair'],
]);
$plucked = $collection->pluck('name');
// ['Desk', 'Chair']
collect([1, 2, 3, 4, 5])->sum();
// 15
sum('key_name')
bir keyname parametresi de alabilir. Bu durumda o keydeki değerleri toplar.
$collection = collect([
['name' => 'JavaScript: The Good Parts', 'pages' => 176],
['name' => 'JavaScript: The Definitive Guide', 'pages' => 1096],
]);
$collection->sum('pages');
// 1272