📅  最后修改于: 2023-12-03 15:32:36.987000             🧑  作者: Mango
在 Laravel 中,集合是用于处理数组数据的方便而强大的工具。它们提供了许多有用的函数和方法,比如过滤、映射、排序、去重、合并等等。在处理数组时,集合可以让你的代码更加简洁、易于维护。
在 Laravel 中,集合命名空间是 Illuminate\Support\Collection
,位于 Illuminate/Support/Collection.php
文件中。你可以通过 use
关键字引入该命名空间:
use Illuminate\Support\Collection;
可以使用 collect
函数来创建一个集合,将一个数组传递给它即可。例如:
$array = [1, 2, 3];
$collection = collect($array);
也可以使用 new Collection
来创建一个空的集合。例如:
$collection = new Collection;
以下是一些集合中常用的函数和方法:
all()
获取集合中的所有项,返回一个数组。
$collection->all();
avg()
计算集合中所有数字的平均值。
$collection->avg();
count()
计算集合中的项数。
$collection->count();
filter()
过滤集合中的项,只保留满足指定条件的项。
$filtered = $collection->filter(function ($value, $key) {
return $value > 2;
});
first()
获取集合中的第一项。
$collection->first();
last()
获取集合中的最后一项。
$collection->last();
map()
对集合中的每一项应用指定函数,返回一个新的集合。
$mapped = $collection->map(function ($value, $key) {
return $value * 2;
});
merge()
将一个数组或另一个集合与当前集合合并,返回一个新的集合。
$merged = $collection->merge([4, 5, 6]);
pluck()
从集合中获取指定键的值,并返回一个新的集合。
$plucked = $collection->pluck('name');
reduce()
使用指定函数将集合中的所有项归约为一个值。
$reduced = $collection->reduce(function ($carry, $item) {
return $carry + $item;
});
reverse()
将集合中的顺序反转,返回一个新的集合。
$reversed = $collection->reverse();
shuffle()
打乱集合中的顺序,返回一个新的集合。
$shuffled = $collection->shuffle();
sort()
按指定方式对集合中的项进行排序,返回一个新的集合。例如:
$sorted = $collection->sort();
$sorted = $collection->sortBy('name');
$sorted = $collection->sortByDesc('name');
toArray()
将集合转换为普通的 PHP 数组。
$collection->toArray();
toJson()
将集合转换为 JSON 格式的字符串。
$collection->toJson();
更多的函数和方法,请参考官方文档:https://laravel.com/docs/8.x/collections。
Laravel 集合命名空间提供了许多便利的工具,可以让你更加轻松地处理数组数据。使用集合可以使代码更加简洁、易于维护,同时提高代码的可读性和可重用性。试试在你的项目中使用集合吧!