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 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
php动态生成JavaScript代码
Mar 09 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 PHP
解析PHP缓存函数的使用说明
May 10 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
PHP如何通过AJAX方式实现登录功能
Nov 23 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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
mysql5详细安装教程
2007/01/15 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
firefo xml 读写实现js代码
2009/06/11 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
python正则表达式之作业计算器
2016/03/18 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
Python pandas库中的isnull()详解
2019/12/26 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
pandas分批读取大数据集教程
2020/06/06 Python
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
博士学位自我鉴定范文
2013/12/26 职场文书
甜品店创业计划书
2014/09/21 职场文书
优秀团队申报材料
2014/12/26 职场文书
催款律师函范文
2015/05/27 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
nginx设置资源请求目录的方式详解
2022/05/30 Servers
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技