Laravel Collection集合常用方法

Laravel Collect 集合方法:详细请参考:https://learnku.com/docs/laravel/8.x/collections/9390#method-keys

 // 创建一个测试集合
        $collection = collect([
            [
                'id' => '1',
                'user_id' => '1',
                'title' => 'Helpers in Laravel',
                'content' => 'Create custom helpers in Laravel',
                'category' => 'php'
            ],
            [
                'id' => '2',
                'user_id' => '1',
                'title' => 'Testing in Laravel',
                'content' => 'Testing File Uploads in Laravel',
                'category' => 'php'
            ],
            [
                'id' => '3',
                'user_id' => '2',
                'title' => 'Telegram Bot',
                'content' => 'Crypto Telegram Bot in Laravel',
                'category' => 'php'
            ],
        ]);
        // 1、 all 函数:返回底层的数组 作用类似于 ->toArry()
        $newArr = $collection->all(); // == $collection->toArry()

        // 2、 filter 函数:类似js filter函数,返回回调函数执行为true的一个 新集合
        // 闭包函数参数为一个是$value 对象,$key 索引
        $filter = $collection->filter(function ($value, $key) {
            if ($value['user_id'] == 2) {
                return true;
            }
        });

        // 3、map 函数:类似js map函数,返回回调函数执行完的一个新集合
        // 闭包函数参数为一个是$value 对象,$key 索引
        $map = $collection->map(function ($value, $key) {
            $value['price'] = 200;
            return $value;
        });

        // 4、pluck 函数:返回方法指定键的所有值
        // 也可以接受2个参数,第二个为键,第一个为值
        $pluck = $collection->pluck('title');
        $pluck = $collection->pluck('user_id', 'title');

        // 5、search 函数:从集合中根据条件查找,存在返回第一个查找到的索引,不存在返回false
        $search = $collection->search(function ($value, $key) {
            return $value['user_id'] == 1; // 此处返回第一个查找到的0
        });

        // 6、chunk 函数:给一个大的集合分成指定数量的小集合
        $chunk = $collection->chunk(1);

        // 7、contains 函数:判断是否包含 返回bool类型
        // 键值对一起判断
        $contains = $collection->contains('category', 'php');

        // 8、unique 函数:返回唯一值
        // 可以 指定键 
        $unique = $collection->unique('user_id');

        // 9、keys 函数:返回所有的键
        $keys = $collection->keys();
    
        //10、keyBy 函数:返回指定值为键,值为该集合
        $collection = $collection->keyBy(function ($item) {
    return strtoupper($item['title']);
});

 

posted @ 2022-01-21 13:07  wish_yang  阅读(498)  评论(0编辑  收藏  举报