laravel常用集合的使用
创建集合:
//数组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