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实现批量查询清除一句话后门的代码
Jan 20 PHP
PHP Class&Object -- 解析PHP实现二叉树
Jun 25 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
linux下编译安装memcached服务
Aug 03 PHP
php的mssql数据库连接类实例
Nov 28 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
php通过pecl方式安装扩展的实例讲解
Feb 02 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
php实现session共享的实例方法
Sep 19 PHP
Yii 框架使用Forms操作详解
May 18 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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扩展开发经验分享
2012/09/06 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
php的hash算法介绍
2014/02/13 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
轻松实现php文件上传功能
2017/02/17 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
Python  Django 母版和继承解析
2019/08/09 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
学校四群教育实施方案
2014/06/12 职场文书
2014会计年终工作总结
2014/12/20 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL
vue router 动态路由清除方式
2022/05/25 Vue.js