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 相关文章推荐
五个PHP程序员工具
May 26 PHP
php mysql数据库操作分页类
Jun 04 PHP
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
PHP编程风格规范分享
Jan 15 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
PHP 快速排序算法详解
2014/11/10 PHP
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
Node.js API详解之 Error模块用法实例分析
2020/05/14 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
python开发之thread实现布朗运动的方法
2015/11/11 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
水产养殖学应届生求职信
2013/09/29 职场文书
制定岗位职责的原则
2013/11/08 职场文书
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
2014年公司工作总结
2014/11/22 职场文书
Python pyecharts绘制条形图详解
2022/04/02 Python