【问题标题】:How to get the values of a multi-dimensional array by key in Laravel?如何在 Laravel 中按键获取多维数组的值?
【发布时间】:2021-08-05 09:08:17
【问题描述】:

例如,假设您有一个包含多个键(和值)的常量多维数组,但您想用它的值过滤掉特定的键。请参阅下面的示例数组:

const defaultInvestmentFields = [
     [
         'type' => 'system',
         'investment_name' => 'Ballast'
     ],
     [
         'type' => 'system',
         'investment_name' => 'Inverters'
     ],
        [
         'type' => 'system',
         'investment_name' => 'Extra garantie inverters'
     ]
];

我想要的输出是一个只有investment_name 值的数组。喜欢['Ballast', 'Inverters', 'Extra garantie inverters']

【问题讨论】:

  • array_column 是函数名。

标签: php arrays laravel


【解决方案1】:

除了@Levianswer,您还可以使用array helper 来避免将数组转换为集合并返回:Arr::pluck()

Arr::pluck(Project::defaultInvestmentFields, 'investment_name');

【讨论】:

  • 感谢您的回答!它速度更快,但将其转换为集合将提供更大的灵活性。
  • 不客气。当然,灵活性应有尽有。
【解决方案2】:

一个快速而简洁的解决方案是使用 Laravel 提供的 collect 包装函数。之后,我们可以使用pluck 函数来指定我们想要获取的键值。例如:

collect(Project::defaultInvestmentFields)->pluck('investment_name');

现在我们有以下值的集合:镇流器、逆变器和额外担保逆变器。 要将其用作数组,只需在其上调用toArray()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-09
    • 2022-07-07
    • 2023-03-28
    • 2018-06-23
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    相关资源
    最近更新 更多