array_push-mysqli$row返回相同的数据


array_push mysqli $row return the same data

我有一个类似的数据库返回数组

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

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

array_push($result, $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);
}