为了账号安全,请及时绑定邮箱和手机立即绑定

将数组的深度值之一设置为键

将数组的深度值之一设置为键

PHP
森林海 2023-04-15 20:45:52
背景假设您有一个如下所示的数组,并且我们知道该id值是唯一的:[    0 => [        'id' => 5,        'name' => 'First item'    ],    1 => [        'id' => 10,        'name' => 'Second item',    ],    ...]问题有没有办法将此数组映射到将id值作为键的数组,同时保持其余值不变?期望的结果现在注意到数组的键与id值匹配,理想的结果是:[    5 => [        'id' => 5,        'name' => 'First item'    ],    10 => [        'id' => 10,        'name' => 'Second item'    ]    ...]小细节出于我的目的,键/值对是否id仍然存在于数组中并不重要,但我希望如果一种情况存在解决方案,则另一种解决方案不会有太大差异。
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

有一个内置的数组函数:

$result = array_column($array, null, 'id');

如果id子数组中不存在,则它将从前一个开始递增,并且如果该键在id后一个,则可能会被覆盖。


查看完整回答
反对 回复 2023-04-15
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

循环方法:


$newArray = [];

foreach ($array as $k => $v) {

    $newArray[$v['id']] = $v;

}


查看完整回答
反对 回复 2023-04-15
  • 2 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信