繁体   English   中英

将元素添加到关联数组

[英]Add elements to associative array

好吧,所以我试图弄清楚如何将数据添加到关联数组。 该数组如下所示:

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'
    )

它会像这样:

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

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

$iamlazy =& the_array['games']['game'];
$n=sizeof($iamlazy);
for ($i=0;$i<$n;%i++)
  $iamlazy[$i]['status']=active;

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM