laravel常用集合的使用
阅读原文时间:2023年07月09日阅读:1

创建集合:

//数组1
$connection = collect([
['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'],
['name'=>'emma','age'=>'17','email'=>'test@qq.com'],
['name'=>'kevin','age'=>'19','email'=>'ceshi@163.com'],
['name'=>'william','age'=>'20','email'=>'test@163.com'],
]);

//数组2
$connection2 = collect([3,5,2,4,1]);

//数组3
$connection3 = collect(['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com']);

计算平均值:

$connection->avg('age');//多维数组
$connection->avg();//一维数组

计算总数:

$connection->count();

计算集合中每个值的出现次数:

$connection->countBy(function($value) {
return substr(strrchr($value['email'], "@"), 1);
});

返回两个集合中差值集合:

$connection2->diff([2,3,4]);

返回满足运算结果的第一条数据:

$connection->first(function($value) {
return $value['age'] > 2;
});

多维数组转化成一维数组:

$connection->flatten();

获取指定键的值:

$connection3->get('name');

判断键是否存在:

$connection3->has('name');

移出最后一个值:

$connection2->pop();

获取指定键信息并删除:

$connection3->pull('email');

追加信息:

$connection2->push(6);

追加数组信息:

$connection3->put('sex', 'boy');

返回指定元素个数之后的数据:

$connection3->slice(1);

正序排序:

$connection2->sort();//只排序,不修改下标
$connection2->sort()->values();//排序并修改下标

倒序倒序:

$connection2->sortDesc();//只排序,不修改下标
$connection2->sortDesc()->values();//排序并修改下标

获取符合条件的数据:

$connection->where('age', '>', 18);

将集合分割为指定大小的块:

$connection2->chunk(2);

参考文档:
https://learnku.com/docs/laravel/8.x/collections/9390
https://learnku.com/articles/20894
https://learnku.com/laravel/t/12571/remember-a-performance-optimization-for-laravel-permission-projects(此篇与本博客无关,若感兴趣可以看看)

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/facetwitter/p/15812694.html