行业资讯 十五个常用的 Laravel 集合(Collection)

十五个常用的 Laravel 集合(Collection)

318
 

十五个常用的 Laravel 集合(Collection)

Laravel 是一款流行的 PHP 框架,提供了许多强大且易于使用的功能来简化开发过程。其中,集合(Collection)是 Laravel 框架中一个十分实用的特性,它允许我们更加便捷地对数组进行操作和转换。在本文中,我们将介绍十五个常用的 Laravel 集合方法,帮助读者更好地了解和运用这一强大的功能。

1. map 方法

map 方法用于对集合中的每个元素应用给定的回调函数,并返回一个新的集合,新集合的元素由回调函数的返回值组成。例如:

$collection = collect([1, 2, 3, 4, 5]);
$multiplied = $collection->map(function ($item, $key) {
    return $item * 2;
});

// 结果:[2, 4, 6, 8, 10]

2. filter 方法

filter 方法用于过滤集合中的元素,只保留满足指定条件的元素,返回一个新的集合。例如:

$collection = collect([1, 2, 3, 4, 5]);
$filtered = $collection->filter(function ($item, $key) {
    return $item > 2;
});

// 结果:[3, 4, 5]

3. sortBy 方法

sortBy 方法用于根据指定条件对集合进行排序,并返回一个新的排序后的集合。例如:

$collection = collect([3, 1, 4, 2, 5]);
$sorted = $collection->sortBy(function ($item, $key) {
    return $item;
});

// 结果:[1, 2, 3, 4, 5]

4. keyBy 方法

keyBy 方法用于将集合中的元素按照指定条件进行分组,并将条件的结果作为新集合的键。例如:

$collection = collect([
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie'],
]);
$keyed = $collection->keyBy('id');

// 结果:[1 => ['id' => 1, 'name' => 'Alice'], 2 => ['id' => 2, 'name' => 'Bob'], 3 => ['id' => 3, 'name' => 'Charlie']]

5. reduce 方法

reduce 方法用于将集合中的元素通过回调函数进行归约,返回归约后的结果。例如:

$collection = collect([1, 2, 3, 4, 5]);
$sum = $collection->reduce(function ($carry, $item) {
    return $carry + $item;
});

// 结果:15

6. each 方法

each 方法用于对集合中的每个元素应用给定的回调函数,但不返回新的集合。它通常用于执行一些副作用操作,例如输出或保存数据。例如:

$collection = collect([1, 2, 3, 4, 5]);
$collection->each(function ($item, $key) {
    echo $item . ' ';
});

// 输出:1 2 3 4 5

7. count 方法

count 方法用于获取集合中元素的数量。例如:

$collection = collect([1, 2, 3, 4, 5]);
$count = $collection->count();

// 结果:5

8. first 和 last 方法

first 方法用于获取集合中的第一个元素,而 last 方法用于获取集合中的最后一个元素。例如:

$collection = collect([1, 2, 3, 4, 5]);
$first = $collection->first();
$last = $collection->last();

// 结果:$first = 1, $last = 5

9. pluck 方法

pluck 方法用于从集合中提取指定键对应的值,返回一个新的集合。例如:

$collection = collect([
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie'],
]);
$names = $collection->pluck('name');

// 结果:['Alice', 'Bob', 'Charlie']

10. take 方法

take 方法用于获取集合中指定数量的元素,返回一个新的集合。例如:

$collection = collect([1, 2, 3, 4, 5]);
$taken = $collection->take(3);

// 结果:[1, 2, 3]

11. skip 方法

skip 方法用于跳过集合中指定数量的元素,返回一个新的集合。例如:

$collection = collect([1, 2, 3, 4, 5]);
$skipped = $collection->skip(2);

// 结果:[3, 4, 5]

12. unique 方法

unique 方法用于去除集合中重复的元素,返回一个新的集合。例如:

$collection = collect([1, 2, 2, 3, 4, 4, 5]);
$unique = $collection->unique();

// 结果:[1, 2, 3, 4, 5]

13. isEmpty 和 isNotEmpty 方法

isEmpty 方法用于检查集合是否为空,isNotEmpty 方法则用于检查集合是否非空。例如:

$collection = collect([]);
$isEmpty = $collection->isEmpty(); // true

$collection = collect([1, 2, 3]);
$isNotEmpty = $collection->isNotEmpty(); // true

14. contains 方法

contains 方法用于检查集合是否包含指定元素,返回一个布尔值。例如:

$collection = collect([1, 2, 3, 4, 5]);
$contains = $collection->contains(3); // true
$contains = $collection->contains(6); // false

15. merge 方法

merge 方法用于将两个集合合并成一个新的集合,返回合并后的结果。例如:

$collection1 = collect([1, 2, 3]);
$collection2 = collect([4, 5, 6]);
$merged = $collection1->merge($collection2);

// 结果:[1, 2, 3, 4, 5, 6]

结论

Laravel 的集合是一个强大且实用的功能,提供了许多便捷的方法来操作和转换数组。在本文中,我们介绍了十五个常用的 Laravel 集合方法,涵盖了对集合的映射、过滤、排序、分组、归约等操作。通过熟练掌握这些方法,可以帮助我们更高效地处理数据,提高代码质量和开发效率。希望本文对您在使用 Laravel 集合时有所帮助,让您的编程工作更加得心应手。

更新:2023-08-31 00:00:13 © 著作权归作者所有
QQ
微信
客服

.