(额不知道应该发php区还是js区还是ajax区……)比如有这样一个数组$arr = array();$arr[1][1][aaa]=1;
$arr[2][2][bbb]=5;
$arr[3][1][aaa]=-3;
$arr[4][2][ccc]=-6;
$arr[5][1][ddd]=-44;然后用json_encode编码之后,作为调用js函数的参数传递给js,但是在js处就没法用alert(a[1][1]['aaa'])来取得对应的值(chrome的调试器提示Uncaught SyntaxError: Unexpected number)。经过试验,同样的方法可以一维数组,请问是json_encode本身就不能传递多维数组还是有其他什么原因?
$arr[2][2][bbb]=5;
$arr[3][1][aaa]=-3;
$arr[4][2][ccc]=-6;
$arr[5][1][ddd]=-44;然后用json_encode编码之后,作为调用js函数的参数传递给js,但是在js处就没法用alert(a[1][1]['aaa'])来取得对应的值(chrome的调试器提示Uncaught SyntaxError: Unexpected number)。经过试验,同样的方法可以一维数组,请问是json_encode本身就不能传递多维数组还是有其他什么原因?
$arr = array();$arr[1][1][aaa]=10;
$arr[a][b][bbb]=5;$p = json_encode($arr);echo <<< JS
<script>
var a = $p;
document.write('<br>按下标:' + a[1][1]['aaa']);
document.write('<br>按名称:' + a['1']['1']['aaa']);
document.write('<br>按对象:' + a.a.b.bbb);
</script>
JS;
按下标:10
按名称:10
按对象:5
可能跟PHP版本有关系.我的 5.2.1.1 json出来的结果是 {..."1":{"1":{"aaa":10}}...}
chrome调试器显示Uncaught TypeError: Cannot read property 'aaa' of undefined