将多维PHP数组传递给Javascript

时间:2015-02-15 18:43:11

标签: javascript php json multidimensional-array

我目前正在将一个SQL查询结果的PHP数组转移到一个javascript函数中但它运行不正常。

当我尝试打印到错误检查我已经通过它的json数组时,它只给出[object Object],[object Object],[object Object],[object Object]的输出,这显然不是理想的。< / p>

  <?php


       include_once('connect.php');
$result = mysqli_query($conn, "SELECT ip, longitude, latitude FROM IPDB;");           

while($row = mysqli_fetch_array($result))
  {
$iplonglat[] = array('ip'=>$row['ip'],     'longitude'=>$row['longitude'],     'latitude'=>$row['latitude']);
  }

$jsoniplonglat = json_encode($iplonglat);

?>


    <script type="text/javascript">


var obj = <?php echo $jsoniplonglat; ?>;
document.write(obj);

</script>

3 个答案:

答案 0 :(得分:0)

在JSON中,多维数组看起来像这样(对于三维)

"[[[val111, val112],[val121, val122]],[[val211, val212],[val221, val222]]]"

答案 1 :(得分:0)

要打印整个JSON吗

var _html = JSON.stringify(obj);
    // Now ideally you should do document.getElementById("someidofdiv").innerHTML = _html;
    // or console.log(_html);
    // or document.write(_html);

或者您应该做的具体值

var _html = "";
for(var i=0; i<obj.length; i++)
{
_html +=obj[i].ip+"  ";
}
// Now ideally you should do document.getElementById("someidofdiv").innerHTML = _html;
// or console.log(_html);
// or document.write(_html);

答案 2 :(得分:0)

 $iplonglat[] = array(json_encode('ip'=>$row['ip'])
                     ,json_encode('longitude'=>$row['longitude'])
                     ,json_encode('latitude'=>$row['latitude']));