[英]Convert PHP array to JavaScript array
I want to convert a multi-dimensional PHP array to JavaScript and found this script in a post here; 我想将多维PHP数组转换为JavaScript,并在此处的帖子中找到此脚本。
<script type='text/javascript'>
<?php
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";\n";
?>
</script>
But the JS array remains empty. 但是JS数组仍然为空。 Is it because I have a multi-dimensional array?
是因为我有一个多维数组吗?
Based on the comment you gave to one of the answers, are you sure $js_array
is empty or are you just not decoding it? 根据您对其中一个答案的评论,您确定
$js_array
为空还是只是不解码它? If you look at the generated JavaScript, do you see var javascript_array = ;
如果查看生成的JavaScript,是否看到
var javascript_array = ;
or something else? 或者是其他东西? Alternatively you could add
alert( javascript_array );
或者,您可以添加
alert( javascript_array );
to check. 去检查。
EDIT: Since the variable is ok, you can now access the elements with javascript_array[0].id
, javascript_array[0].question
etc. 编辑:由于变量正常,您现在可以使用
javascript_array[0].id
, javascript_array[0].question
等访问元素。
You can also try something more manual like this: 您也可以尝试以下更手动的方法:
<?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>
If $php_array
isn't empty, try to... 如果
$php_array
不为空,请尝试...
var javascript_array = <?php echo $js_array; ?>;
...instead of: ...代替:
echo "var javascript_array = ". $js_array . ";\n";
Hope it helps! 希望能帮助到你! :)
:)
您可能必须评估该json才能使其不仅仅是JavaScript代码中的字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.