从javascript访问属性多端数组PHP
Accessing properties multimendional array PHP from javascript
我在PHP 中有这个数组
<?php
$data = array();
$data[0] = array('year' => 2001, 'month' => array(
'January' => array('val1' => 1000, 'val2' => 2000),
'February' => array('val1' => 1000, 'val2' => 2000)
)
);
$data[1] = array('year' => 2002, 'month' => array(
'January' => array('val1' => 3000, 'val2' => 4000),
'February' => array('val1' => 6000, 'val2' => 7000)
)
);
echo json_encode($data);
?>
我正试图从javascript访问这个数组的属性,但我还没有访问。
我试过这个
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
url: 'ajax1.php',
type: 'GET',
dataType: 'json'
}).done(function (data) {
var i = 0;
for (i in data) {
$('#year').append('<b>'+data[i].year+'</b>'+':<br/>');
var x=0;
for(x in data[i].month){
$('#year').append(data[i].month[x] +'<br/>');
x++;
}
i++;
}
});
});
</script>
<title>Graphs</title>
</head>
<body>
<div id="year">
</div>
</body>
</html>
我可以访问年份,但不能访问其他属性。
打印以下内容:
2001:
[object Object]
[object Object]
2002:
[object Object]
[object Object]
解码用PHP JSON_encode创建的JSON后,非数字数组将转换为Javascript对象。如果您需要数组,请尝试使用数字关键字。
一些浏览器,如chrome,按照对象关键字的字母顺序进行排序。如果您正在考虑迭代对象,则需要事先知道这一点。
建议:使用$.each i jQuery来迭代数组或对象更简单。
$.each(data, function(key, value){
...
});
因为每个月都是一个数组,所以不需要额外的循环来获取该月份数组中的值。其结果是:
$('#year').append(data[i].month[x][0] //= val1 within month[x]
$('#year').append(data[i].month[x][1] //= val2 within month[x]
所以你需要三个嵌套的循环:
//pseudo code including a new loop "z"
[i] to get the year;
[x] to get each month within year[i];
[z] to get each value within month[x];
相关文章:
- 将数组从PHP传递到Javascript
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 如何使用Javascript将空数组发送到PHP服务器
- 调用php数组中的JS函数
- PHP中的数组输出
- 将带有多维数组的表单从Javascript提交到PHP
- 将数组从javascript格式化为php的更好方法,反之亦然
- 将PHP变量分配给PHP数组
- php数组转换为javascript
- 如何用javascript打印php数组
- 将PHP数组传递给js变量
- 如何在php中读取没有任何键的JSON数组
- 从javascript访问属性多端数组PHP
- 替换辅助数组 PHP 中的值
- JavaScript发送变量,但插入数组PHP不能正常工作
- 在数组php中中断数组
- 如何通过javascript数组php laravel4
- 多维json编码关联数组php到JS
- (删除重复)重新索引多维数组PHP jquery
- 我可以't在jQuery中获取数组PHP编码