2013-03-26 134 views
0

我在PHP中得到下面這個數組:添加關鍵動態的PHP陣列

theArray('id':'123','akey':'a'; 

     'id':'234','akey':'b'; 

     'id':'567','akey':'c';) 

我想動態添加另一個關鍵在一個循環中,使我的數組看起來像:

theArray('id':'123','akey':'a', 'anotherkey':'1'; 

     'id':'234','akey':'b'; 'anotherkey':'1'; 

     'id':'567','akey':'c'; 'anotherkey':'1';) 

我寫的代碼如下:

foreach($theArray as $row) 
{ 
    $row['anotherkey'] = "1"; 
} 

但它不起作用。我究竟做錯了什麼?

回答

1

您實際上並沒有將您的新值存儲在​​中,而只是將其分配給您的臨時$row變量。你想要做的是這樣的:

foreach($theArray as $key => $row) { 
    $theArray[$key]["anotherkey"] = "1"; 
} 
+0

非常感謝您的幫助 – user1536396 2013-03-26 14:21:07

+0

@ user1536396很高興我能幫忙。 – Crontab 2013-03-26 16:09:51

1

嘗試用

foreach($theArray as &$row) 
{ 
    $row['anotherkey'] = "1"; 
} 
+1

,不要忘記在循環之後未設置$ row - 否則可能會在將來調用大量的錯誤 – 2013-03-26 13:57:03

0
foreach($theArray as $key => $row) 
{ 
    $theArray[$key]['anotherkey'] = "1"; 
} 

更強勁