Laravel框架集合用法实例浅析


Posted in PHP onMay 14, 2020

本文实例讲述了Laravel框架集合用法。分享给大家供大家参考,具体如下:

前言

集合通过 Illuminate\Support\Collection 进行实例,Laravel的内核大部分的参数传递都用到了集合,但这并不代表集合就是好的。Laravel作为快捷并优雅的开发框架,是有他一定的道理所在的,并非因他的路由、DB、监听器等等。当你需要处理一组数组时,你可能就需要它帮助你快捷的解决实际问题。

创建集合

$collection = collect([1, 2, 3]);

显而易见,这是一部非常简单的操作,请打住你想说“这种操作很复杂”的话,它更类似与早起PHP5.x的版本的声明方式。

$collection = array(1,2,3);

laravel对于collection也没有做任何复杂的事情,会在下一章 《Laravel源码解析之集合》,谢谢

打回原型

如果你想将集合转换为数据,其使用方法也非常的简单

collect([1, 2, 3])->all();
------>
[1, 2, 3]

在不过与考虑性能的情况下,可以使用Laravel集合,毕竟它将帮你完成数组操作的百分之九十的工作。
例如我们需要通过一个水平线切分数组,将其分为2个及以上的数组个数。使用集合可以酱紫做~

$collection = collect([1, 2, 3, 4, 5, 6, 7]);

$chunks = $collection->chunk(4);

$chunks->toArray();

// [[1, 2, 3, 4], [5, 6, 7]]

并且有些还根据sql语句的查询方式来设计的方法,下面就让来看下具体都有哪些吧。

方法列表

这里列出一些常用的集合操作方法,具体及全部请操作官方。

方法 注释
all 将集合打回原型
average & avg 计算平均值
chunk 将集合拆成多个指定大小的小集合
collapse 将多个数组的集合合并成一个数组的集合
combine 可以将一个集合的值作为「键」,再将另一个数组或者集合的值作为「值」合并成一个集合
concat 将给定的数组或集合值附加到集合的末尾
contains 判断集合是否包含给定的项目
count 返回该集合内的项目总数
dd 打印集合的项目并结束脚本执行
diff 将集合与其它集合或纯 PHP 数组进行值的比较,然后返回原集合中存在而给定集合中不存在的值
each 迭代集合中的内容并将其传递到回调函数中
filter 使用给定的回调函数过滤集合的内容,只留下那些通过给定真实测试的内容
first 返回集合中通过给定真实测试的第一个元素
groupBy 根据给定的键对集合内的项目进行分组
push 把给定值添加到集合的末尾
put 在集合内设置给定的键值对
sortBy 通过给定的键对集合进行排序。排序后的集合保留了原数组键
where 通过给定的键值过滤集合

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
检测png图片是否完整的php代码
Sep 06 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
php校验表单检测字段是否为空的方法
Mar 20 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
必须收藏的23个php实用代码片段
Feb 02 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
php中二分法查找算法实例分析
Sep 22 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 #PHP
Laravel框架源码解析之入口文件原理分析
May 14 #PHP
Laravel框架源码解析之反射的使用详解
May 14 #PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 #PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 #PHP
php中用unset销毁变量并释放内存
May 10 #PHP
php屏蔽错误及提示的方法
May 10 #PHP
You might like
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
php curl基本操作详解
2013/07/23 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
PHP生成条形图的方法
2014/12/10 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python清空文件并替换内容的实例
2018/10/22 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
CSS3实现时间轴特效
2020/11/02 HTML / CSS
诉讼财产保全担保书
2014/05/20 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL