将数组KEY更改为子数组中的值

Shi*_*ant 4 php arrays hashtable

这是我的数据库的结果集

print_r($plan);
Array
(
    [0] => Array
        (
            [id] => 2
            [subscr_unit] => D
            [subscr_period] => 
            [subscr_fee] => 
        )

    [1] => Array
        (
            [id] => 3
            [subscr_unit] => M,Y
            [subscr_period] => 1,1
            [subscr_fee] => 90,1000
        )

    [2] => Array
        (
            [id] => 32
            [subscr_unit] => M,Y
            [subscr_period] => 1,1
            [subscr_fee] => 150,1500
        )

)
Run Code Online (Sandbox Code Playgroud)

我怎样才能更改$plan[0]$plan[value_of_id]

谢谢.

Tom*_*Tom 6

这不会就地执行,但是:

$new_plan = array();
foreach ($plan as $item)
{
  $new_plan[$item['id']] = $item;
}
Run Code Online (Sandbox Code Playgroud)


Pet*_*ter 6

这可能有点晚了,但我一直在寻找同一问题的解决方案。但由于所有其他答案都涉及循环并且恕我直言太复杂,我自己一直在尝试一些东西。

结果

$items = array_combine(array_column($items, 'id'), $items);
Run Code Online (Sandbox Code Playgroud)

就这么简单。

  • 或者,简单地 `array_column($items, null, "id");` (8认同)