在PHP MYSQL中格式化JSON输出

在PHP MYSQL中格式化JSON输出,php,mysql,arrays,jquery-plugins,Php,Mysql,Arrays,Jquery Plugins,我正在努力让剧本发挥作用,我非常接近。我可以让它给我建议(下拉值),但我需要使用它的数据属性 建议的JSON格式如下所示: { suggestions: [ { value: "United Arab Emirates", data: "AE" }, { value: "United Kingdom", data: "UK" }, { value: "United States", data: "US" } ] }

我正在努力让剧本发挥作用,我非常接近。我可以让它给我建议(下拉值),但我需要使用它的数据属性

建议的JSON格式如下所示:

{
    suggestions: [
        { value: "United Arab Emirates", data: "AE" },
        { value: "United Kingdom",       data: "UK" },
        { value: "United States",        data: "US" }
]
}
$reply = array();
$reply['suggestions'] = array();
$reply['data'] = array();

while ($row = $result->fetch_array(MYSQLI_ASSOC))//loop through the retrieved values
{
    //Add this row to the reply
    $reply['suggestions'][]=$row['SHOW_NAME'];
    $reply['data'][]=$row['SHOW_ID'];
}

//format the array into json data
echo json_encode($reply);
到目前为止,我已经做到了:

{
"suggestions": [
    "Show Name 1",
    "Show Name 2"
],
"data": [
    "1",
    "2"
]
}
生成该输出的代码如下所示:

{
    suggestions: [
        { value: "United Arab Emirates", data: "AE" },
        { value: "United Kingdom",       data: "UK" },
        { value: "United States",        data: "US" }
]
}
$reply = array();
$reply['suggestions'] = array();
$reply['data'] = array();

while ($row = $result->fetch_array(MYSQLI_ASSOC))//loop through the retrieved values
{
    //Add this row to the reply
    $reply['suggestions'][]=$row['SHOW_NAME'];
    $reply['data'][]=$row['SHOW_ID'];
}

//format the array into json data
echo json_encode($reply);

有什么建议吗?我不知道如何将这两个数据元素组合到一个数组中,更不用说用“value”或“data”将它们前置……

不确定我是否正确获取了您的数据,但如果您想在一个数组中获取这两个值,请使用:

$response = array();
$reply = array();
while ($row = $result->fetch_array(MYSQLI_NUM))//loop through the retrieved values
{
    //Add this row to the reply
    $reply['value'] = $row[0];
    $reply['data'] = $row[1];
    $response['suggestions'][] = $reply;
}
//format the array into json data
echo json_encode($response, JSON_PRETTY_PRINT);
$replay[][array('country' => $row['SHOW_NAME'],'data' => $row['SHOW_ID'])];

看看这个问题:
$payload
从未初始化,将导致PHP警告。此外,在将变量返回Javascript函数以改进调试时,建议使用
JSON\u PRETTY\u PRINT