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数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
简单了解PHP编程中数组的指针的使用
Nov 30 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
php 如何设置一个严格控制过期时间的session
May 05 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
php中isset与empty函数的困惑与用法分析
Jul 05 PHP
php回调函数处理数组操作示例
Apr 13 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
一些php技巧与注意事项分析
2011/02/03 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
js 函数调用模式小结
2011/12/26 Javascript
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
进一步探究Python中的正则表达式
2015/04/28 Python
详解Python中dict与set的使用
2015/08/10 Python
Python检测网络延迟的代码
2018/05/15 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
Python爬取某平台短视频的方法
2021/02/08 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
思想政治自我鉴定
2013/10/06 职场文书
培训主管的岗位职责
2013/11/23 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
团日活动总结怎么写
2014/06/25 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android
php去除deprecated的实例方法
2021/11/17 PHP