2012-02-11 114 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