密钥在重命名后保留旧名称

Mal*_*loc 0 php

这是我的代码:

foreach ($all_orders as $order){//the $all_orders array contains a number of arrays, so it's a multidimensional array

$order["Order Rank"]=$order[0];
unset($order[0]);
}
Run Code Online (Sandbox Code Playgroud)

用新密钥重命名密钥后,当我打印数组时:

print_r($all_orders);
Run Code Online (Sandbox Code Playgroud)

我得到了旧的密钥名称(即0):

Array
(
    [0] => Array
        (
            [0] => 1
            )
Run Code Online (Sandbox Code Playgroud)

为什么不是:

Array
    (
        [0] => Array
            (
                ["Order Rank"] => 1
                )
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?提前.

Kar*_*ath 5

您正在修改元素的副本.

使用参考:

foreach ($all_orders as &$order) {
    //...
}
Run Code Online (Sandbox Code Playgroud)