2012-02-11 151 views
1

我這樣做是爲了從數據庫新元素添加到陣列

$query=$this->db->get('tablename', $num, $offset); 

我想補充「字符串」查詢所有的數據。$ iteratorNumber(即字符串1,字符串等)作爲新元素值數組。

我也試過這種

$query=$this->db->get('tablename', $num, $offset); 
$query=$query->row_array(); 
$i=0; 
foreach($query as $row) 
{ 
    array_push($row,"string".i++); 
} 

但這並不做什麼,我想它。

UPDATE 結果看起來是這樣的

$data = array(
      array('Name', 'Color', 'Size'), 
      array('Fred', 'Blue', 'Small'), 
      array('Mary', 'Red', 'Large'), 
      array('John', 'Green', 'Medium') 
      ); 

,我想,然後獲得

$data = array(
      array('Name', 'Color', 'Size',''), 
      array('Fred', 'Blue', 'Small','something'), 
      array('Mary', 'Red', 'Large','something'), 
      array('John', 'Green', 'Medium','something') 
      ); 

回答

3

爲什麼不只是做:

$query = $this->db->get('tablename', $num, $offset); 
$query[] = "new data here!"; 

然後一個新的元素添加? - 如果它是一個數組,你可以只是做:

$query[] = array("data" => "new data here!"); 

上述以外,我不認爲你可以沒有看到更多的代碼做什麼 - 但它額外的數據添加到您的輸出數據庫中的數組。

更新

也許我明白你的意思,現在......你想添加「串X」(其中X是第n個條目)多次有行,所以下面應該做的它(注意你的問題已經非常接近了!),但我會親自制作一個陣列的副本。

$query = $copy = $this->db->get('tablename', $num, $offset); 
$i=0; 
foreach($query as $row){ 
    array_push($copy,"string".i++); 
} 
$query = $copy; 
1

的通知「&」啄,這意味着你正在編輯$行和所需的更改到最後,即使的foreach完成

$query=$this->db->get('tablename', $num, $offset); 
$query=$query->row_array(); 
$i=0; 
foreach($query as &$row){ 
    $row[] = "string" . $i++; 
    //array_push($row,"string".i++); 
} 

此外,$行[]是比快array_push,因爲它沒有調用函數的開銷。如果要添加5個或更多元素,請使用array_push