创建集合:
//数组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
手机扫一扫
移动阅读更方便
你可能感兴趣的文章