2015-11-23 64 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

如果此解决方案适合您请考虑将此答案标记为已接受的答案。 –

相关问题