你可能需要了解下Laravel集合

你可能需要了解下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通过给定的键值过滤集合

致谢

感谢你看到这里,希望本篇能够帮助到你。谢谢,还不抓紧去练习下集合?

原创文章,作者:CrazyCodes,如若转载,请注明出处:https://blog.fastrun.cn/2018/10/23/1-70/

(0)
上一篇 2018年10月3日 下午4:02
下一篇 2018年10月25日 下午8:28

相关推荐

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

评论列表(1条)

  • 乐山单身交友
    乐山单身交友 2018年10月28日 上午1:24

    PHP是世界上最好的语言,从 hehaibao的友情链接 过来的。
    新站 留个脚印给蜘蛛,谢谢了,哥们!

    乐山单身交友www.vipleshan.com