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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Nov 18 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
PHP实现懒加载的方法
Mar 07 PHP
windows平台中配置nginx+php环境
Dec 06 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
PHP操作Redis常用技巧总结
Apr 24 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
phpinfo的知识点总结
Oct 10 PHP
php swoft框架实例用法
Dec 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 程序员应该使用的10个组件
2009/10/31 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
jquery动态更换设置背景图的方法
2014/03/25 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
用js编写留言板
2020/03/17 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
python书籍信息爬虫实例
2018/03/19 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
Python关于反射的实例代码分享
2020/02/20 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
python代码实现猜拳小游戏
2020/11/30 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
开水果连锁店创业计划书
2013/12/29 职场文书
军训感想500字
2014/02/20 职场文书
基层党员对照检查材料
2014/09/24 职场文书
元旦主持词开场白
2015/05/29 职场文书