我想将多维PHP数组转换为JavaScript,并在此处的帖子中找到此脚本;
<script type='text/javascript'>
<?php
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>
但是JS阵列仍然是空的。是因为我有一个多维数组?
答案 0 :(得分:1)
根据您对其中一个答案的评论,您确定$js_array
是空的还是您只是不解码它?如果您查看生成的JavaScript,是否会看到var javascript_array = ;
或其他内容?或者,您可以添加alert( javascript_array );
进行检查。
编辑:由于变量没问题,您现在可以使用javascript_array[0].id
,javascript_array[0].question
等访问元素。
答案 1 :(得分:0)
你也可以尝试更多这样的手册:
<?php
// $phpArray= ...
?>
<script type="text/javascript">
var jsArray = {};
<?php foreach($phpArray as $key => $val){ ?>
jsArray.<?php echo $key; ?> = "<?php echo $val; ?>";
<?php } ?>
console.log(jsArray);
</script>
答案 2 :(得分:-2)
如果$php_array
不为空,请尝试...
var javascript_array = <?php echo $js_array; ?>;
...而不是:
echo "var javascript_array = ". $js_array . ";\n";
希望它有所帮助! :)
答案 3 :(得分:-2)
您可能必须评估该json,以使其不仅仅是JavaScript代码中的字符串。