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']); });