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备份/还原MySQL数据库的代码
Jan 06 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
php eval函数用法总结
Oct 31 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
适合PHP初学者阅读的4本经典书籍
Sep 23 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
PHP7 foreach() 函数修改
Mar 09 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.ini实现PHP文件上传功能
2014/11/27 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
vue2项目使用sass的示例代码
2017/06/28 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
python ChainMap 合并字典的实现步骤
2019/06/11 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
Python 如何实现访问者模式
2020/07/28 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
物业经理求职自我评价
2013/09/22 职场文书
医学护理系毕业生求职信
2013/10/01 职场文书
保护环境演讲稿
2014/05/10 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
婚前财产协议书范本
2014/10/19 职场文书
在Python中如何使用yield
2021/06/07 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
Oracle中日期的使用方法实例
2022/07/07 Oracle