2013-03-26 142 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"; 
} 

更强劲