我正在尝试在JSON数组中的JSON对象中编码2个名称/值对。目前,我能够对名称/值对进行编码,但每个都作为数组中的单独对象进入。
这是我的代码:
if ($tag == "getLatLng")
{
$lineNumber = $_GET['lineNumber'];
$coordinates = $db->getCoOrds($lineNumber);
if ($coordinates != false)
{
//Get data and set success = 1
$response["success"] = 1;
$response['coordinates'] = array();
$arrayLength = count($coordinates);
foreach ($coordinates as $value)
//for ($i=0; $i<$arrayLength+1; $i++)
{
//echo $i;
$response["coordinates"][]['latitude'] = $value[0];
$response["coordinates"][]['longitude'] = $value[1];
//$response["coordinates"][]['longitude'] = $coordinates[$i];
}
echo json_encode($response);
}
这是一个示例输出:
{"success":1,"error":0,"coordinates":[{"latitude":"00.000000"},{"longitude":"-00.000000"},{"latitude":"00.000000"},{"longitude":"-00.000000"},{"latitude":"00.000000"},{"longitude":"-00.000000"}]}
但我需要这个:
{"success":1,"error":0,"coordinates":[{"latitude":"00.000000","longitude":"-00.000000"},{"latitude":"00.000000","longitude":"-00.000000"},{"latitude":"00.000000","longitude":"-00.000000"}]}
感谢您的帮助!
答案 0 :(得分:2)
试试这个
$i=0;
foreach ($coordinates as $value)
//for ($i=0; $i<$arrayLength+1; $i++)
{
$response["coordinates"][$i]['latitude'] = $value[0];
$response["coordinates"][$i]['longitude'] = $value[1];
$i++;
}