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

时间:2012-01-08 13:03:51

标签: 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]);
}

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

print_r($all_orders);

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

Array
(
    [0] => Array
        (
            [0] => 1
            )

为什么不是:

Array
    (
        [0] => Array
            (
                ["Order Rank"] => 1
                )
我错过了什么吗?提前完成。

2 个答案:

答案 0 :(得分:5)

您正在修改元素的副本

使用参考:

foreach ($all_orders as &$order) {
    //...
}

答案 1 :(得分:1)

您正在使用$ order变量,该变量与数组不同。你想要:

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

$all_orders[$key]["Order Rank"]=$order[0];
unset($all_orders[$key]);
}