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(7) php 字符串相关应用
Mar 05 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php使用百度天气接口示例
Apr 22 PHP
php下获取http状态的实现代码
May 09 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
easy_install python包安装管理工具介绍
2013/02/10 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Python3 replace()函数使用方法
2018/03/19 Python
python实现简易动态时钟
2018/11/19 Python
python将list转为matrix的方法
2018/12/12 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
python openssl模块安装及用法
2020/12/06 Python
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
初中科学教学反思
2014/01/21 职场文书
仓库管理制度
2014/01/21 职场文书
爱国口号
2014/06/19 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
2014年度考核工作总结
2014/12/24 职场文书
法律意见书范文
2015/05/20 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
商业计划书之服装
2019/09/09 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers