首页 > 解决方案 > Laravel - 将列表对象转换为键值

问题描述

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

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

我想转换为键值,例如:

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

我怎样才能做到这一点?有没有人有解决方案?
请帮忙,谢谢!

标签: laravellistkey-value

解决方案


将其投射到 Laravel 集合并使用mapWithKeys()

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

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

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

推荐阅读