将PHP数组转换为JavaScript数组

时间:2011-08-01 07:00:28

标签: php javascript json multidimensional-array

我想将多维PHP数组转换为JavaScript,并在此处的帖子中找到此脚本;

<script type='text/javascript'>
<?php
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>

但是JS阵列仍然是空的。是因为我有一个多维数组?

4 个答案:

答案 0 :(得分:1)

根据您对其中一个答案的评论,您确定$js_array是空的还是您只是不解码它?如果您查看生成的JavaScript,是否会看到var javascript_array = ;或其他内容?或者,您可以添加alert( javascript_array );进行检查。

编辑:由于变量没问题,您现在可以使用javascript_array[0].idjavascript_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代码中的字符串。