Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 转换嵌套JSON数组_Php_Javascript_Json - Fatal编程技术网

Php 转换嵌套JSON数组

Php 转换嵌套JSON数组,php,javascript,json,Php,Javascript,Json,我有一个PHP函数,它通过 $jsonArray= array(); for ($i=0; $i<$dirCount; $i++){ $query = sprintf("SELECT * FROM tour WHERE FileName= '../%s/%s'", $imageDirectory, $dirArrays[$i]); $result = mysqli_query($link, $query); if (mysqli_num_rows($result) == 1)

我有一个PHP函数,它通过

$jsonArray= array();
for ($i=0; $i<$dirCount; $i++){
  $query = sprintf("SELECT * FROM tour WHERE FileName= '../%s/%s'", $imageDirectory, $dirArrays[$i]);
  $result = mysqli_query($link, $query);

  if (mysqli_num_rows($result) == 1){
    $row = mysqli_fetch_row($result);
    $jsonArray[]= array('filename'=>$dirArrays[$i], 'location'=>$row[4], 'latitude'=>$row[2], 'longitude'=>$row[3], 'heading'=> $row[5]);
  } 
}
等等

如何将其转换为索引位置为
位置
值?我想的是

'start' : Object{ 'filename' : , 'location': , 'latitude': , 'longitude: },
'testLab' : { 'filename' : , 'location': , 'latitude': , 'longitude: }
这背后的原因是我有另一个函数,它在与位置字段匹配时使用数据字段创建对象

function buildData(input){
  for (var i=0; i<data.length; i++){
    if (data[i].location == input)
      //create and return object using data[i] fields
  } 
}

怎么做?

而不是只推数组的每个元素(
$jsonArray[]=…
),只分配给相关键(
$jsonArray[$somekey]=…
)。

而不是只推数组的每个元素(
$jsonArray[]=…
),只分配给相关键(
$jsonArray[$somekey]=…

function buildData(input){
  for (var i=0; i<data.length; i++){
    if (data[i].location == input)
      //create and return object using data[i] fields
  } 
}
function buildData(input){
  if (data[input]){
    //same object creation and return
  }
}