📅  最后修改于: 2023-12-03 15:17:16.989000             🧑  作者: Mango
如果你已经开始使用 Laravel 框架来构建你的应用程序,那么你一定会熟悉 Laravel 中的集合。Laravel 集合提供了许多强大的方法,可以轻松地操作数组和集合。然而,有时候你可能会忘记一些重要的方法,特别是在大型的应用程序中。本文将介绍 Laravel 集合中的一些常见用法。
要创建集合,你可以使用 collect()
函数,如下所示:
$collection = collect(['apple', 'orange', 'banana']);
你还可以使用 Eloquent 查询构建器返回的结果来创建集合,如下所示:
$users = DB::table('users')->get();
$users = collect($users);
你甚至可以从一个已有的数组创建一个新的集合,如下所示:
$items = ['apple', 'orange', 'banana'];
$collection = collect($items);
获取集合中的元素是操作集合最常见的方法之一。你可以通过索引、键、值或闭包获取集合中的元素。下面展示了不同的方法。
你可以使用 nth()
方法通过索引获取集合中的元素:
$collection = collect(['apple', 'orange', 'banana']);
$collection->nth(1); // 'orange'
你可以使用 get()
方法通过键获取集合中的元素:
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York'
]);
$collection->get('name'); // 'John'
你可以使用 contains()
方法通过值获取集合中的元素:
$collection = collect(['apple', 'orange', 'banana']);
$collection->contains('orange'); // true
你可以使用 first()
方法通过闭包获取集合中的元素:
$collection = collect(['apple', 'orange', 'banana']);
$collection->first(function ($value, $key) {
return $value === 'banana';
}); // 'banana'
有时候你需要将集合中的元素转换成其他的类型或格式。下面展示了一些方法。
map()
方法转换元素你可以使用 map()
方法将集合中的元素转换成其他的类型或格式,如下所示:
$collection = collect([1, 2, 3]);
$newCollection = $collection->map(function ($value, $key) {
return $value * 2;
});
$newCollection->all(); // [2, 4, 6]
filter()
方法过滤元素你可以使用 filter()
方法过滤集合中的元素,如下所示:
$collection = collect([1, 2, 3]);
$newCollection = $collection->filter(function ($value, $key) {
return $value > 1;
});
$newCollection->all(); // [2, 3]
each()
方法循环集合你可以使用 each()
方法循环集合并对每个元素执行一个操作,如下所示:
$collection = collect([1, 2, 3]);
$collection->each(function ($value, $key) {
echo $value;
});
implode()
方法将元素连接成字符串你可以使用 implode()
方法将集合中的元素连接成一个字符串,如下所示:
$collection = collect(['apple', 'orange', 'banana']);
$collection->implode(', ');
以上是 Laravel 集合中的一些常见用法。如果你需要更多的集合操作,可以查看 Laravel 官方文档中的 集合文档。