array_push mysqli $row return 相同的数据

array_push mysqli $row return the same data

我有一个数据库 return 数组

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

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

array_push($result, $row); 

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

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

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

不太懂。
如果你想在$result中添加$row,你可以像这样使用array_merge()函数:

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

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

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