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 不同编码下的字符串长度区分
Sep 26 PHP
域名和cookie问题(域名后缀)
Oct 10 PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
destoon整合UCenter图文教程
Jun 21 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
php车辆违章查询数据示例
Oct 14 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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合并数组中相同元素的方法
2014/11/13 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
学习ExtJS table布局
2009/10/08 Javascript
js常用排序实现代码
2010/12/28 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
浅析Python 责任链设计模式
2020/09/11 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
职工运动会邀请函
2014/02/02 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
春季运动会开幕词
2015/01/28 职场文书
店长岗位职责
2015/02/11 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript
python数字转对应中文的方法总结
2021/08/02 Python
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server