2015-11-23 92 views
0

如何添加數組到數組項目?如何添加一個新的數組到一個項目?

我希望每個項目有一個數組分配給它,在這種情況下與tags鍵。但隨着預期的下面不工作:

<?php 
function getNews() { 
    $sql = "SELECT * FROM news WHERE active = '1' AND deleted='0' 
      ORDER BY date_posted DESC LIMIT ". 
       (isset($settings['news_limit_index']) 
         ? $settings['news_limit_index'] : '4'); 
    $result = $this->db->query($sql); 
    while($data=$result->fetch_assoc()){ 
     $r_news[] = $data; 
     $r_news[]['tags'] = array('one','two','three'); // hardcoded for testing! 
    } 
    return $r_news; 
} 
?> 
+0

的[?用PHP陣列中添加項目到數組(HTTP可能重複:// stackoverflow.com/questions/12679617/adding-items-to-an-array-within-an-array-with-php) – JoeG

回答

0

您可以同時$data和標籤子陣列使用索引變量。

$i = 0; 
while($data=$result->fetch_assoc()){ 
    $r_news[$i] = $data; 
    $r_news[$i++]['tags'] = array('one','two','three'); // hardcoded for testing! 
} 
2

的問題是,你是不是分配給這兩個行相同$r_news元素:

$r_news[] = $data; 
$r_news[]['tags'] = array('one','two','three'); // hardcoded for testing! 

你加2個元素與上面的代碼,而第二隻具有tags關鍵。

一個解決方案:與tags關鍵第一延長$data,然後將其添加到您的數組:

$data['tags'] = array('one','two','three'); 
$r_news[] = $data; 
+0

你好,這個解決方案爲我工作,它似乎是最好的解決方案。 Thanx提前:-) –

+0

如果此解決方案適合您請考慮將此答案標記爲已接受的答案。 –

相關問題