0

好吧,所以我想弄清楚如何将数据添加到关联数组中。数组看起来像:

Array
(
    [games] => Array
       [game] => Array
          [0] => Array
             [appID] => 12345
             [logo] => 'http://www.example.com/logo_12345.jpg'
             [name] => 'Game One'
          [1] => Array
             [appID] => 12346
             [logo] => 'http://www.example.com/logo_12346.jpg'
             [name] => 'Game Two'
          [2] => Array
             [appID] => 12347
             [logo] => 'http://www.example.com/logo_12347.jpg'
             [name] => 'Game Three'
    [userID] => 784523569852145
    [username] => 'Gamertag'
)

我想要做的是循环遍历数组并向其中添加以下元素,使其看起来像这样:

   Array
    (
        [games] => Array
           [game] => Array
              [0] => Array
                 [appID] => 12345
                 [logo] => 'http://www.example.com/logo_12345.jpg'
                 [name] => 'Game One'
                 [status] => 'active'
              [1] => Array
                 [appID] => 12346
                 [logo] => 'http://www.example.com/logo_12346.jpg'
                 [name] => 'Game Two'
                 [status] => 'active'
              [2] => Array
                 [appID] => 12347
                 [logo] => 'http://www.example.com/logo_12347.jpg'
                 [name] => 'Game Three'
                 [status] => 'active'
        [userID] => 784523569852145
        [username] => 'Gamertag'
    )
4

3 回答 3

4

它会是这样的:

foreach($my_array["games"]["game"] as &$game) {
    $game["status"] = "active";
}

&很关键,因为没有它,变量$game将引用相关数组的副本,而不是数组本身。换句话说,您的更改不会被保存。

于 2013-10-13T22:09:36.660 回答
2
$iamlazy =& the_array['games']['game'];
$n=sizeof($iamlazy);
for ($i=0;$i<$n;%i++)
  $iamlazy[$i]['status']=active;
于 2013-10-13T22:10:21.173 回答
0

您可以在需要的地方添加新元素,只需使用方括号来标识您要添加的元素并按照正常方式分配它,如下所示:

$array['games']['game'][0]['status']='Active';

这不是一个循环,但我很确定您可以从这里开始根据您的结构制作循环本身。

于 2013-10-13T22:09:31.273 回答