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数组应用之比较两个时间的相减排序
Aug 18 PHP
PHP教程 基本语法
Oct 23 PHP
用PHP实现递归循环每一个目录
Aug 08 PHP
php如何调用webservice应用介绍
Nov 24 PHP
解析php 版获取重定向后的地址(代码)
Jun 26 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
php模板原理讲解
Nov 13 PHP
php实现的常见排序算法汇总
Sep 08 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
php输入数据统一类实例
Feb 23 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 PHP
PHP7修改的函数
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+javascript模拟Matrix画面
2006/10/09 PHP
php5中类的学习
2008/03/28 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
Smarty模板简单配置与使用方法示例
2016/05/23 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
python Django中models进行模糊查询的示例
2019/07/18 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
综合素质的自我鉴定
2013/10/07 职场文书
一年级数学教学反思
2014/02/01 职场文书
高中教师考核方案
2014/05/18 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
2015年调度员工作总结
2015/04/30 职场文书
三八妇女节主持词
2015/07/04 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
redis限流的实际应用
2021/04/24 Redis
手把手教你导入Go语言第三方库
2021/08/04 Golang