php数组到2d Javascript数组

php array to 2d Javascript array

本文关键字:数组 Javascript 2d php      更新时间:2023-09-26

我正在通过php传递SQL的2个字段到javascript。我读过很多关于如何创建多维javascript数组的教程。我感到困惑的是如何从php编码到javascript。我看过一些关于如何将php数据转换为javascript的教程,但没有一个是关于如何在2维中做到这一点的。

我的第一个挂起是,如果我正在创建一个多维数组,我需要在我声明java数组之前计算我的sql数据中的记录数量对吗?

更新:

我得到的数据JSON格式建议如下。是否有一种方法让我得到所有的内容打印到网页,让我可以看到他们,然后缩小显示什么?

更新III:

代码:

mysql_connect("localhost", "bikemap", "pedalhard") or die(mysql_error()); 
 mysql_select_db("test") or die(mysql_error()); 
 $data = mysql_query("SELECT * FROM gpsdata");
 $new_row = array();
$new_column = array();
 while($info = mysql_fetch_array($data)){
   foreach( $info as $row_num => $row)
{
      $thisItem = $row;
      $new_row[] = $thisItem;
   }
   array_push($new_column = $new_row);
 }
 $json = json_encode($new_column);
echo $json;    
?>
工作代码:

 $data = mysql_query("SELECT * FROM gpsdata");     
$aData = array();
while($row = mysql_fetch_assoc($data))
   $aData[$row['idgpsdata']] = array($row['userID'],$row['date'],$row['lat'], $row['longi'], $row['alt']);

 $json = json_encode($aData);
echo $json;

先填充PHP数组,这比为javascript数组构建字符串更容易。然后,正如ThiefMaster在评论中所说的那样,使用JSON来制作javascript数组。

在PHP中,您可以使用JSON PECL扩展

<?php
$arr = array( 1=>array(3,4),
              2=>array(4,5));
$json = json_encode($arr);
echo $json;
?>

输出
{"1":[3,4],"2":[4,5]}
在Javascript

var obj = JSON.parse('{"1":[3,4],"2":[4,5]}');
for(var i in obj){
    for(var j in obj[i]) {
        console.log(obj[i][j]);
    }
}

JSON。解析是为Gecko (Firefox一样),对于跨浏览器的javascript JSON解析检查jQuery。parseJSON或https://stackoverflow.com/search?q=json+parse+javascript

在PHP/jQuery中的示例实现是这样的:

json.php

$arr = array( 1=>array('Name', 'Age'),
              2=>array('Fares','18'));
$json = json_encode($arr);
echo $json;

json.html

<html><head></head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script>
$.getJSON('json.php', function(data) {
  var items = [];
  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });
  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});
</script>
</body>
</html>