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

前言

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

创建集合

1

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

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

1

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

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

打回原型

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

1

2

3

collect([1, 2, 3])->all();

------>

[1, 2, 3]

在不过与考虑性能的情况下,可以使用Laravel集合,毕竟它将帮你完成数组操作的百分之九十的工作。
例如我们需要通过一个水平线切分数组,将其分为2个及以上的数组个数。使用集合可以酱紫做~

1

2

3

4

$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集合的简单理解的详细内容,

Laravel集合的简单理解的更多相关文章

  1. Java 集合的简单理解

    集合(容器) Java的集合类分别是Collection接口和Map接口派生而来. Collection接口 对于实现Collection接口的子类,都会实现Collection接口中抽象方法,所以他 ...

  2. laravel 集合

    最近一直在用laravel框架,比较喜欢laravel的ORM(通常我们理解的Model)...但是默认情况下,Eloquent 查询的结果总是返回 Collection 实例...所有不得不了解co ...

  3. 我们为之奋斗过的C#-----C#的一个简单理解

    我们首先来简单叙述一下什么是.NET,以及C#的一个简单理解和他们俩的一个区别. 1 .NET概述 .NET是Microsoft.NET的简称,是基于Windows平台的一种技术.它包含了能在.NET ...

  4. Map接口下的集合和泛型理解

    一.Map接口 1. Map接口就是最顶层了,上面没有继承了.Map是一个容器接口,它与前面学的List.Set容器不同的是前面学的这些容器,一次只能传入一个元素,但是Map容器一次可以传入一对元素( ...

  5. laravel集合

    1.简介 Illuminate\Support\Collection 类为处理数组数据提供了平滑.方便的封装.例如,查看下面的代码,我们使用辅助函数 collect 创建一个新的集合实例,为每一个元素 ...

  6. input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has

    input屏蔽历史记录   设置input的扩展属性autocomplete 为off即可 ;function($,undefined) 前面的分号是什么用处   ;(function($){$.ex ...

  7. 你可能需要了解下Laravel集合

    前言 集合通过 Illuminate\Support\Collection 进行实例,Laravel的内核大部分的参数传递都用到了集合,但这并不代表集合就是好的.Laravel作为快捷并优雅的开发框架 ...

  8. MongoDB索引的简单理解

    目录 MongoDB索引 1.语法准备 2.数据准备: 3.索引 3.1 唯一索引 3.2 单键索引 3.3 多键索引 3.4 复合索引 3.5 交叉索引 3.6 部分索引 3.7覆盖索引 3.8 全 ...

  9. TODO:Laravel 内置简单登录

    TODO:Laravel 内置简单登录 1. 激活Laravel的Auth系统Laravel 利用 PHP 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管 ...

随机推荐

  1. java XML解析防止外部实体注入

    /** * 增加防止部实体注入逻辑 * <功能详细描述> * @param reader * @throws SAXException * @see [类.类#方法.类#成员] */ pu ...

  2. 不知道多大的文件不要用cat查看!

    今天长清女子学校的主任给我微信上发了一图片,说登录服务器的时候就查看了一个文件,结果服务器的风扇忽然变的特别响,系统慢了好多,让我看看是什么回事!我当时心里想,无缘无故怎么会这样,难不成是进病毒了?查 ...

  3. 201871010126 王亚涛 《面向对象程序设计(Java)》第七周实验总结

    ---恢复内容开始--- 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com ...

  4. XSS-DOM

    DOM型XSS是基于DOM文档对象模型的一种漏洞 通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问.所有 HTML 元素(节点)均可被修改,也可以创建或删除节点.(引用W ...

  5. eclipse集成maven(四)

    一.配置maven 打开Window-Preference-Maven,我们可以看到,默认是使用Eclipse的,不是我们要的maven,可以在Installations中,点击"Add&q ...

  6. 重拾算法之复杂度分析(大O表示法)

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  7. Linux 访问iphone 上的照片

    下面的链接,就差测试安装ifuse 了,估计是没有什么问题的. https://www.dedoimedo.com/computers/fedora-22-iphone.html

  8. 阿里云重置CentOS的root默认密码

    问题 今天使用阿里云开了一个云服务器,系统为 CentOS ,远程连接登录时不知道默认root密码 解决方法 在 控制台-实例-操作 中选择 更多-密码/秘钥-重置实例密码 即可

  9. 字段加密实践(django-fernet-fields)

    一.fernet介绍 Fernet 用于django模型字段对称加密,使用 crytography 库. 官网帮助文档 1.先决条件 django-fernet-fields 支持Django 1.8 ...

  10. Zabbix介绍及安装

    Zabbix简介 Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件,是一个企业级的分布式开源监控方案.Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警.这样 ...