我这样做是为了查询数据库中的所有数据
$query=$this->db->get('tablename', $num, $offset);
我想加上"字符串"$迭代器编号(即字符串1、字符串2等)作为值数组中的新元素。
我也试过这个
$query=$this->db->get('tablename', $num, $offset);
$query=$query->row_array();
$i=0;
foreach($query as $row)
{
array_push($row,"string".i++);
}
但这并不是我想要的。
更新结果看起来像这个
$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')
);
为什么不直接做:
$query = $this->db->get('tablename', $num, $offset);
$query[] = "new data here!";
然后添加一个新元素?-如果它是一个数组,你可以做:
$query[] = array("data" => "new data here!");
除此之外,我想不出在不看到更多代码的情况下还能做些什么,但它确实为数据库中输出的数组添加了额外的数据。
更新
也许我明白你现在的意思了。。。你想添加'stringX'(其中X是第n个条目)的次数与行的次数一样多,所以下面应该这样做(请注意,你的问题已经很接近了!),但我个人会先复制数组。
$query = $copy = $this->db->get('tablename', $num, $offset);
$i=0;
foreach($query as $row){
array_push($copy,"string".i++);
}
$query = $copy;
注意"&"这意味着您正在编辑$row,并且希望即使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++);
}
此外,$row[]比array_push更快,因为它没有调用函数的开销。如果要添加5个或5个以上的元素,请使用array_push。