array_push mysqli $ row返回相同的数据

时间:2015-03-20 15:00:29

标签: php arrays mysqli

我有一个数据库返回数组

$row['id']=1, $row['col1']='col1', $row['col2']=col2 

当我将每个$行推送到$ result

array_push($result, $row); 

$ row被覆盖b / c它们共享相同的密钥。我无法理解它。但如果它被覆盖,当我var_dump($ result)时它应该只输出一个集合,而不是输出具有相同数据集的多行,请帮忙。

3 个答案:

答案 0 :(得分:2)

替换它:array_push($result, $row); 有了这个:

foreach($row AS $current_row)
{
   array_push($result, $current_row);
}

答案 1 :(得分:1)

我不确定理解。
如果您想在$row中添加$result,可以使用array_merge()这样的功能:

$result = array_merge($result, $row);

答案 2 :(得分:1)

array_push将元素添加到2个或更多维数组。在使用它之前,您必须定义一个数组。使用此:

$result = array();
while ($row = $stmt->fetch())
{
   array_push($result, $row);
}