【发布时间】:2021-10-09 08:01:45
【问题描述】:
我有一个列表对象,例如:
"my_list":
[
{
"id": 1,
"name": A
},
{
"id": 2,
"name": B
},
]
我想转换成键值,比如:
my_list = {
1: 'A',
2: 'B'
}
我该怎么做?有没有人有解决方案?
请帮忙,谢谢!
【问题讨论】:
我有一个列表对象,例如:
"my_list":
[
{
"id": 1,
"name": A
},
{
"id": 2,
"name": B
},
]
我想转换成键值,比如:
my_list = {
1: 'A',
2: 'B'
}
我该怎么做?有没有人有解决方案?
请帮忙,谢谢!
【问题讨论】:
将其转换为 Laravel 集合并使用 mapWithKeys()
$keyed = collect($my_list)->mapWithKeys(function ($item) {
return [$item['id'] => $item['name']];
});
如果您需要将其转换为对象,则:
$keyed = (object)$keyed->toArray();
【讨论】:
您可以将array helper methods 与array_combine() 结合使用:
(object)array_combine(Arr::pluck($my_list, 'id'), Arr::pluck($my_list, 'name'));
【讨论】: