簡體   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