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字符串 ==比较运算符的副作用
Oct 21 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
orm获取关联表里的属性值
2016/04/17 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
web打印小结
2017/01/11 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
python正则-re的用法详解
2019/07/28 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
python中的对数log函数表示及用法
2020/12/09 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
介绍一下Linux中的链接
2016/05/28 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
大学生个人求职信
2014/06/02 职场文书
学校施工安全责任书
2015/01/29 职场文书
限期整改通知书
2015/04/22 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
python爬取豆瓣电影TOP250数据
2021/05/23 Python
Python内置数据类型中的集合详解
2022/03/18 Python
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang