我有一个数据库返回数组
$row['id']=1, $row['col1']='col1', $row['col2']=col2
当我将每个$行推送到$ result
时array_push($result, $row);
$ row被覆盖b / c它们共享相同的密钥。我无法理解它。但如果它被覆盖,当我var_dump($ result)时它应该只输出一个集合,而不是输出具有相同数据集的多行,请帮忙。
答案 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);
}