Collection的使用

图片.png

如果想在laravel之外使用collection,可以composer require illuminate/support

总结

1.有可以使用foreach的情况,都可以使用map
2.switch 可以定义到一个 collection 里面的数组里面,然后使用 get 取值,并赋默认值

取出二维数组中的商品价格总和

collect($orders)->map(function($order){   //1.使用map得到只有order_product的数组
            return $order['order_product'];
        })->flatten()->map(function($order){   //2.flatten 将二维数组变成一维数组
            return $order['price'];       // 3.再次使用map,过滤数组只得到price的一维数组
        })->sum();   //4.sum取出数组中值的总和


collect($orders)->map(function($order){
    return $order['order_product'];
})->flatten()
//            map与flatten的结合也可以直接使用 flatMap()函数
collect($orders)->flatMap(function($order){
    return $order['order_product'];
})->map(function($order){
    return $order['price'];
})->sum();

map(function($order){
    return $order['price'];
})->sum();
//            map只取数组中的一个值,可以直接使用 pluck 
collect($orders)->flatMap(function($order){
    return $order['order_product'];
})->pluck('price')->sum();

        //由于 sum是可以传递参数的,还可以简化
collect($orders)->flatMap(function($order){
    return $order['order_product'];
})->sum('price');
图片.png
2.取数组值的最后一部分字符串

switch可以使用数组代替,get可以有一个默认值

3.`switch`可以使用数组代替
取两年中月份金额之差
每天收入
将数据库取出的信息组合成用户名和邮件数组
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 过去做事情急,什么东西拿起来就用,不喜欢进行系统性的学习,造成在使用过程中的错误和低效,现在感觉自己耐心多了,用之...
    马文Marvin阅读 2,052评论 0 10
  • 先说几句废话,调和气氛。事情的起由来自客户需求频繁变更,伟大的师傅决定横刀立马的改革使用新的框架(created ...
    wsdadan阅读 3,125评论 0 12
  • 原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts ...
    layjoy阅读 8,651评论 0 121
  • 是什么 如果你知道yum、apt-get、npm、bower等命令中的一种或者多种,那么,你也能很快知道compo...
    旱魃一样阅读 3,199评论 0 9
  • Facade 布局是在面向对象编程中经常使用的一种软件设计布局方式。Facade 实际上是一种包括复杂函数库的类,...
    OneAPM阅读 1,503评论 0 15