将PHP多维数组返回到Javascript / AJAX

时间:2010-06-07 01:29:56

标签: php javascript ajax json

我的理解是,为了将复杂的PHP变量返回给Javascript,应该通过AJAX和json_encode来完成。有人能给我一个真实的例子(PHP和Javascript代码)吗?可以说我们在PHP中有两个dim数组:

$twoDArr = array( array('Greg', 44, 'Owner'),
                  array('Joe', 23, 'Renter'),
                  array('Susan', 39, 'Owner'),
                  array('John', 32, 'Renter)
                );

我们如何使用json_encode将其返回到javascript中的类似二维数组?

2 个答案:

答案 0 :(得分:2)

<?php

$twoDArr = array( array('Greg', 44, 'Owner'),
                  array('Joe', 23, 'Renter'),
                  array('Susan', 39, 'Owner'),
                  array('John', 32, 'Renter)
                );
?>

<script>
twoDArr = JSON.parse(<?=json_encode($twoDArr)?>)
alert(twoDArr[0][0]) //alerts 'Greg'
alert(twoDArr[0][1]) //alerts '44'
alert(twoDArr[1][0]) //alerts 'Joe'
</script>

答案 1 :(得分:0)

你的程序将以更简单的方式运行:

        <?php

            $twoDArr = array( array('Greg', 44, 'Owner'),
                              array('Joe', 23, 'Renter'),
                              array('Susan', 39, 'Owner'),
                              array('John', 32, 'Renter)
                            );
        ?>

        <script>
            var twoDArr = <?php echo json_encode($twoDArr); ?>;
            alert(twoDArr[0][0]) //alerts 'Greg'
            alert(twoDArr[0][1]) //alerts '44'
            alert(twoDArr[1][0]) //alerts 'Joe'
        </script>