第四章 服务 ―― 集合.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
服务 ―― 集合 服务 —— 集合 1、简介 Illuminate\Support\Collection类为处理数组数据提供了平滑、⽅便的封 装。例如,查看下⾯的代码,我们使 帮助函数collect创建⼀个新的集合实例,为 每⼀个元素运⾏strtoupper函数,然后移除所有空元素: $collection = collect([taylor, abigail, null])-map( unction ( return strtoupper($name); })-reject( unction ($name) { return empty($name); }); 正如你所看到的,Collection类允许你使 ⽅法链对底层数组执⾏匹配和减少操 作,通常,没个Collection⽅法都会返回⼀个新的Collection实例。 2、创建集合 正如上⾯所提到的,帮助函数collect为给定数组返回⼀个新的 Illuminate\Support\Collection实例,所以,创建集合很简单: $collection = collect([1, 2, 3]); 默认情况下,Eloquent模型的集合总是返回Collection实例,此外,不管是在何 处,只要⽅法都可以⾃由使 Collection类。 3、集合⽅法列表 本⽂档接下来的部分我们将会讨论Collection类上每⼀个有效的⽅法,所有这些⽅ 法都可以以⽅法链的⽅式平滑的操作底层数组。此外,⼏乎每个⽅法返回⼀个新的 Collection实例,允许你在必要的时候保持原来的集合备份。 all() all⽅法简单返回集合表⽰的底层数组: collect([1, 2, 3])-all(); // [1, 2, 3] chunk() chunk⽅法将⼀个集合分割成多个⼩尺⼨的⼩集合: $collection = collect([1, 2, 3, 4, 5, 6, 7]); $chunks = $collection-chunk(4); $chunks-toArray(); // [[1, 2, 3, 4], [5, 6, 7]] 当处理栅栏系统如Bootstrap 时该⽅法在视图中尤其有 ,建设你有⼀个想要显⽰在栅 栏中的Eloquent模型集合: @ oreach ($products-chunk(3) as $chunk) div class=row @ oreach ($chunk as $product) div class=col-xs-4{{ $product-name }}/div @end oreach /div @end oreach collapse() collapse⽅法将⼀个多维数组集合收缩成⼀个⼀维数组: $collection = collect([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); $collapsed = $collection-collapse(); $collapsed-all(); // [1, 2, 3, 4, 5, 6, 7, 8, 9] contains() contains⽅法判断集合是否包含⼀个给定项: $collection = collect([name = Desk, price = 100]); $collection-contains(Desk); // true $collection-contains(New York); // alse 你还可以传递⼀个键值对到contains⽅法,这将会判断给定键值对是否存在于集合 中: $collection = collect([ [product = Desk, price = 200], [product = Chair, price = 100], ]); $collection-contains(product, Bookcase); // alse 最后,你还可以传递⼀个回调到contains⽅法来执⾏⾃⼰的真实测试: $collection = collect([1, 2, 3, 4, 5]); $collection-contains( unction ($key, $value) { return $

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档