在foreach PHP中只能得到一个项目

时间:2016-05-17 03:01:52

标签: php arrays foreach

即使我有多个项目要循环,我的foreach也只能得到一个项目。 这是我的代码:

$sql = "Select vID from info";
$stmt = $db->query($sql);  
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
$dataArray = array();
foreach($users as $user){
 $item =  $user['vID']
 $dataArray['ids'] = $item
}
echo json_encode($dataArray);

这是从数据库中获取数据:

[
  {
    "vidID": "1234"
  },
  {
    "vidID": "5678"
  }
]

当我试图回显我创建的数组时,只返回一个项目:

{
  "vids": "5678"
}

1 个答案:

答案 0 :(得分:3)

那是因为你要覆盖数组中的id而不是追加。

如果要将其附加到数组,请替换

$dataArray['ids'] = $item;

使用

$dataArray[] = $item;

或者

array_push($dataArray, $item);