Laravel集合的简单理解

本篇文章给大家带来的内容是关于Laravel集合的简单理解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言

集合通过 Illuminate\Database\Eloquent\Collection 进行实例,Laravel的内核大部分的参数传递都用到了集合,但这并不代表集合就是好的。Laravel作为快捷并优雅的开发框架,是有他一定的道理所在的,并非因他的路由、DB、监听器等等。当你需要处理一组数组时,你可能就需要它帮助你快捷的解决实际问题。

创建集合

$collection = collect([1, 2, 3]);

显而易见,这是一部非常简单的操作,请打住你想说“这种操作很复杂”的话,它更类似与早起PHP5.x的版本的声明方式。

$collection = array(1,2,3);

laravel对于collection也没有做任何复杂的事情。

打回原型

如果你想将集合转换为数据,其使用方法也非常的简单

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通过给定的键值过滤集合

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何利用Laravel实现数据缓存功能
Laravel权限功能的实战应用:如何实现用户组织架构权限控制
如何在Laravel中实现基于权限的多语言支持
掌握Laravel控制台命令,利用参数传递的力量
如何利用Laravel实现数据分页和搜索功能
如何在Laravel中使用中间件进行日志记录
如何在Laravel中使用中间件进行数据迁移
如何在Laravel中使用中间件进行数据统计
如何利用Laravel实现邮件发送和接收功能
如何在Laravel中使用中间件进行数据导出
Laravel权限功能详解:如何定义和管理用户角色
如何在Laravel中使用中间件进行用户反馈
如何使用Laravel开发一个基于微信公众号的在线点餐系统
Laravel权限功能的可靠性保证:如何实现权限的冗余备份和恢复
Laravel权限功能的进阶应用:如何实现权限的可视化管理和配置
如何在Laravel中使用中间件进行数据加密传输
Laravel权限功能的最佳实践:如何实现权限缓存和性能优化
如何在Laravel中使用中间件进行API认证
如何在Laravel中使用中间件进行数据加速
如何利用Laravel实现数据验证和过滤功能