laravel Collection方法详解-持续更新

童子明
2023-12-01

1.map方法:返回回调函数中返回的结果

// 遍历整个集合并将每一个数值传入给定的回调函数:
$multiplied = $collection->map(function ($item, $key) {
    return $item * 2;
});

2.each方法:在原集合基础上附加一些数据。

// 遍历集合中的项目,并将之传入给定的回调函数:
$collection = $collection->each(function ($item, $key) {
	$item->test = 1;
});

map和each区别是:map 返回的是回调函数返回的结果,多用于集合数据格式转换;each 返回的是原集合的数据,可以附加一些数据,也可以修改原集合的属性值。

3.get方法获取集合的指定键的value,如果该键不存在,则返回 null:

// 返回给定键的项目。如果该键不存在,则返回 null:
$value = $collection->get('name');

4.pluck方法获取所有集合中给定的键的值

// 获取所有集合中给定键的值:
$plucked = $collection->pluck('name');

5.combine合并数组前者作为key,后者成为对应的value。相当于array_combine

$combine = collect(['name', 'age'])->combine(['lion', 18]);
//[
//    'name' => 'lion',
//    'age' => '18',
//];

6.contains用来判断该集合是否含有指定的项目

// 用来判断该集合是否含有指定的项目:校验 value
collect(['name' => 'lion'])->contains('lion'); // true

// 用来判断该集合是否含有指定的项目:校验 key value
collect([['name' => 'lion', 'age' => '18'],['name' => 'tom', 'age' => '68']])->contains('name', 'lion'); // true
collect([['name' => 'lion', 'age' => '18'],['name' => 'tom', 'age' => '68']])->contains('name', 'jerry'); // false
 类似资料: