У меня есть этот массив в PHPДоступ свойства multimendional PHP массив из JavaScript
<?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 к свойствам этого массива из 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]
как 'данные [I] .month [х]' является объектом, доступ должен использовать имя данных свойств '[I] .month [х] .val1' или' данные [I ] .month [x] ["val1"] ', а не индекс – Omar
спасибо Омар. Я все еще учился. но предпосылка моего поста правильная? что val1 и val2 не доступны, поскольку они являются вложенными значениями в родительском массиве «месяц». – gavgrif
да @gavgrif, это правильно :) – Omar