将json_object作为数组返回的正确方法

时间:2016-02-10 11:28:49

标签: php sql arrays json

我使用sql语句以下列方式填充数组:

$index = 0;

while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
{
    $bookname[$index] = ($row['Bookname']);
    $subjectname[$index] = ($row['SubjectName']);
    $index++;
}

当我去回声json编码数组时,我得到一个空白[]当我知道它已被填充,这真的很奇怪。 我在上下文中做错了什么

echo json_encode($Bookname,$SubjectName);

3 个答案:

答案 0 :(得分:2)

你可以使用json_encode

<?php
$index = 0;
$data = array();
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
{
    $data[$index]['bookname'] = $row['Bookname'];
    $data[$index]['subjectname'] = $row['SubjectName'];
    $index++;
}
json_encode($data); // encode your array
?>

答案 1 :(得分:2)

请尝试以下方法:

       $index = 0;
       $data = array();
       while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
      {
        $data['Bookname'][$index] = $row['Bookname'] 
        $data['SubjectName'][$index] = $row['SubjectName'];
        $index++;

       }
       echo json_encode($data);

答案 2 :(得分:1)

调用json_encode函数时,您已经传递了两个参数。你击球手将两个阵列合二为一。然后调用json_encode函数,如json_encode($combinedArray)