CollectionFind::groupBy()

按照给定的键对集合进行分组

首字母:C

函数名称:CollectionFind::groupBy()

适用版本:PHP 7.3+

用法:groupBy() 方法用于按照给定的键对集合进行分组。该方法返回一个新的集合,其中包含按照指定键分组的元素。 语法:$collection->groupBy($key)

参数:

  • $key:一个闭包函数或字符串,表示按照哪个键进行分组。闭包函数接受集合中的每个元素作为参数,并返回要用于分组的键。

返回值:返回一个新的集合,其中包含按照给定键分组的元素。每个分组都是一个关联数组,以键为索引,值是一个包含与该键匹配的元素的集合。

示例:

$collection = collect([
 ['name' => 'Alice', 'age' => 20],
 ['name' => 'Bob', 'age' => 25],
 ['name' => 'Charlie', 'age' => 20],
]);
$grouped = $collection->groupBy('age');
$grouped->toArray();

输出结果:

[
 20 => [
 ['name' => 'Alice', 'age' => 20],
 ['name' => 'Charlie', 'age' => 20],
 ],
 25 => [
 ['name' => 'Bob', 'age' => 25],
 ],
]

在上面的示例中,我们有一个包含三个人的集合。我们使用 groupBy('age') 方法按照年龄对集合进行分组。最后,我们通过调用 toArray() 将分组的结果转换为数组。输出结果显示了按照年龄分组的集合,每个分组都是一个关联数组,其中键是年龄,值是与之匹配的元素数组。

同首字母函数