zoukankan      html  css  js  c++  java
  • laravel collet分组

    转自 : https://my.oschina.net/ives/blog/825988

    collect提供了大量对数组的处理方法,使处理数组更加方便,以下函数在项目中可以考虑借鉴

    一、sum() 用于求和

    sum()    
    示例1.:collect([1,2,3])->sum();//6
    示例2.:$list = [
                ['name'=>'支付宝','money'=>'10'],
                ['name'=>'微信','money'=>'10.3'],
            ];
            collect($list)->sum('money');//20.3
    

    二、unique()

    unique方法返回集合中所有的唯一数据项:
    
    $collection = collect([1, 1, 2, 2, 3, 4, 2]);
    $unique = $collection->unique();
    $unique->values()->all();
    // [1, 2, 3, 4]
    返回的集合保持原来的数组键,在本例中我们使用values方法重置这些键为连续的数字索引。
    
    处理嵌套数组或对象时,可以指定用于判断唯一的键:
    
    $collection = collect([
        ['name' => 'iPhone 6', 'brand' => 'Apple', 'type' => 'phone'],
        ['name' => 'iPhone 5', 'brand' => 'Apple', 'type' => 'phone'],
        ['name' => 'Apple Watch', 'brand' => 'Apple', 'type' => 'watch'],
        ['name' => 'Galaxy S6', 'brand' => 'Samsung', 'type' => 'phone'],
        ['name' => 'Galaxy Gear', 'brand' => 'Samsung', 'type' => 'watch'],
    ]);
    
    $unique = $collection->unique('brand');
    
    $unique->values()->all();
    
    /*
        [
            ['name' => 'iPhone 6', 'brand' => 'Apple', 'type' => 'phone'],
            ['name' => 'Galaxy S6', 'brand' => 'Samsung', 'type' => 'phone'],
        ]
    */
    
    
    你还可以指定自己的回调用于判断数据项唯一性:
    
    $unique = $collection->unique(function ($item) {
        return $item['brand'].$item['type'];
    });
    
    $unique->values()->all();
    
    /*
        [
            ['name' => 'iPhone 6', 'brand' => 'Apple', 'type' => 'phone'],
            ['name' => 'Apple Watch', 'brand' => 'Apple', 'type' => 'watch'],
            ['name' => 'Galaxy S6', 'brand' => 'Samsung', 'type' => 'phone'],
            ['name' => 'Galaxy Gear', 'brand' => 'Samsung', 'type' => 'watch'],
        ]
    */
  • 相关阅读:
    Windows下利用TortoiseSVN搭建本地SVN服务器
    我的Netty笔记
    Netty简单的HTTP服务器
    开启和关闭HBase的thrift进程
    java中重载和重写的区别
    java中形参个数可变的方法使用
    java中方法的参数传递机制
    Java内存分配全面浅析
    java中的类修饰符、成员变量修饰符、方法修饰符。
    js实现页面重定向
  • 原文地址:https://www.cnblogs.com/phpk/p/14139963.html
Copyright © 2011-2022 走看看