【问题标题】:Laravel - Convert list object to key valueLaravel - 将列表对象转换为键值
【发布时间】:2021-10-09 08:01:45
【问题描述】:

我有一个列表对象,例如:

"my_list": 
[
  {
   "id": 1,
   "name": A
  },
  {
   "id": 2,
   "name": B
  },
]

我想转换成键值,比如:

my_list = {
 1: 'A',
 2: 'B'
}

我该怎么做?有没有人有解决方案?
请帮忙,谢谢!

【问题讨论】:

    标签: laravel list key-value


    【解决方案1】:

    将其转换为 Laravel 集合并使用 mapWithKeys()

    $keyed = collect($my_list)->mapWithKeys(function ($item) {
        return [$item['id'] => $item['name']];
    });
    

    如果您需要将其转换为对象,则:

    $keyed = (object)$keyed->toArray();
    

    【讨论】:

      【解决方案2】:

      您可以将array helper methodsarray_combine() 结合使用:

      (object)array_combine(Arr::pluck($my_list, 'id'), Arr::pluck($my_list, 'name'));
      

      【讨论】:

      • 谢谢!我会试试这个。
      猜你喜欢
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 2014-08-16
      • 2018-02-20
      • 1970-01-01
      • 2020-12-11
      • 1970-01-01
      • 2020-02-06
      相关资源
      最近更新 更多