我试图将数组从php传递给JavaScript。但是在js中,数组值被读取为每个单独的char。 我的代码;
<?php
$arr=array(1=>'apple', 2=>'ball');
$garr=json_encode($arr);
?>
<script>
var ax = '<?php echo $garr; ?>';
alert(ax.length);
for(var n=0;n<ax.length; n++)alert(ax[n]);
</script>
结果是lenght = 23并且每个char都作为输出。
感谢您的帮助。
答案 0 :(得分:1)
php数组的json_encode()输出为
{"1":"apple","2":"ball"}
这是一个对象文字。但是你想要一个阵列。尝试使用:
$arr=array(0=>'apple', 1=>'ball');
并删除单引号,它们标记字符串文字,并且您不希望ax
是字符串而是数组/对象。
var ax = <?php echo $garr; ?>;
答案 1 :(得分:0)