下面的代码只有像"a“、"b”、"c“这样的数组,但是返回对象、对象、对象。我需要在ajax成功函数中使用嵌套$each循环的结果。有什么更好的方法吗?
if($_GET['semValue'])
{
$sem_value = $_GET['semValue'];
try
{
$stmt = $dbConn->prepare("SELECT Semester FROM CourseInfo");
$semArray = array();
if ($stmt->execute())
{
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$semArray[] = $row;
}
}
echo json_encode($semArray);
exit();
}
catch(PDOException $e)
{
echo 'Exception -> ';
var_dump($e->getMessage());
}发布于 2016-06-25 09:50:41
在主数组中插入整个row,因此它将返回多维数组而不是字符串数组。
若要获取字符串数组,请替换以下行。
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$semArray[] = $row["Semester"];
}解释:
$row会是这样,
$row= Array("semester"=>1);
$row= Array("semester"=>2);
// And so on如果您遵循当前代码,那么最终的数组将是这样的,
$semArray = Array ( [0]=> Array("semester"=>1), [1]=> Array("semester"=>2));因此,它成为多维数组,这就是为什么我们使用$row["Semester"]使之成为字符串/整数值的一维数组的原因。
https://stackoverflow.com/questions/38027064
复制相似问题