这是我的代码:
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
)
我错过了什么吗?提前完成。
答案 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]);
}