📜  laravel 中的 pluck 数组 - PHP (1)

📅  最后修改于: 2023-12-03 15:32:34.071000             🧑  作者: Mango

Laravel 中的 pluck 数组 - PHP

在 Laravel 中, pluck 是一个非常有用的函数, 它允许您从集合或数组中获取另一个字段的列表。

我将在本文中介绍 pluck 函数的用法和示例。

用法
基本用法
$collection = collect([
    ['product_id' => 'prod-100', 'name' => 'Desk'],
    ['product_id' => 'prod-200', 'name' => 'Chair'],
]);

$plucked = $collection->pluck('name');

$plucked->all(); // ['Desk', 'Chair']

在上面的代码中, $plucked 变量将包含键为 name 的所有值。

指定键名
$plucked = $collection->pluck('name', 'product_id');

$plucked->all(); // ['prod-100' => 'Desk', 'prod-200' => 'Chair']

在上面的代码中, $plucked 变量将包含以 product_id 为键的所有 name 的值。

如果您想保留原数组中的键,但仍基于特定键获取其他值,可以使用 keyBy 函数:

$plucked = $collection->keyBy('product_id')->pluck('name');

$plucked->all(); // ['prod-100' => 'Desk', 'prod-200' => 'Chair']

将键设置为 product_id 之后, $plucked 变量将包含以 product_id 为键的所有 name 的值。

嵌套的数组
$collection = collect([
    ['name' => 'Desk', 'specs' => ['length' => 200, 'width' => 100]],
    ['name' => 'Chair', 'specs' => ['length' => 150, 'width' => 150]],
]);

$plucked = $collection->pluck('specs.length');

$plucked->all(); // [200, 150]

在上面的代码中, $plucked 变量将包含每个元素的 specs.length 的值。

总结

这是 pluck 函数的简单介绍和示例。

我们可以使用 pluck 函数从集合或数组中获取特定字段的值。

首先,我们可以指定要获取的字段,并使用默认键(原始数组中的键),或者可以指定新的键。

然后,我们可以使用 keyBy 函数将函数应用于特定键,从而使返回值包含指定字段和原始数组中的键。

最后,我们还可以使用嵌套数组来获取多维数组中的特定元素。

Happy coding!