我想将php数组传递给javascript。我已经尝试了几个从这个站点采取的例子,但我的其余代码似乎没有认识到它们。我认为问题在于数组的引号或格式。
首先:定义如下的var functionlist工作正常。
<script type="text/javascript">
var functionlist = Array('1','2','3','4','5','6','7','8','9','10','11','12');
//Rest of the code
</script>
第二:定义如下的var functionlist工作正常。
<script type="text/javascript">
var functionlist=Array("1","2","3","4","5","6","7","8","9","10","11","12");
//Rest of the code
</script>
但是下面的代码不起作用,尽管回显$ TransfArray会产生与上面相似的东西。
<?php
for ($i = 0; $i <= 12; $i++) {
$OriginalArray[$i] = $i;
}
$TransfArray= "'" . implode("','", $OriginalArray) . "'";
?>
<script type="text/javascript">
var functionlist = Array(<? echo $TransfArray; ?>);
//Rest of the code
</script>
下面的代码也不是
<?php
for ($i = 0; $i <= 12; $i++) {
$OriginalArray[$i] = $i;
}
$Original_to_json = json_encode($OriginalArray);
?>
<script type="text/javascript">
var functionlist = <?php echo $Original_to_json; ?>;
//Rest of the code
</script>
有人检测到这个问题吗? 事先提前了。
答案 0 :(得分:2)
使用铸造如下,
<?php
for ($i = 0; $i <= 12; $i++) {
$OriginalArray[]= (String)$i;
}
$Original_to_json=json_encode($OriginalArray);
?>
<script type="text/javascript">
var functionlist = <?php echo $Original_to_json; ?>;
//Rest of the code
</script>
答案 1 :(得分:0)
用PHP编写JavaScript代码是一种可怕的做法。你不应该这样做。相反,你可以做一些与众不同的事情。
<script src="json.php"></script>
或者您可以使用AJAX动态加载它。答案 2 :(得分:-1)
试试这个:
<script type="text/javascript">
var functionlist = <?php echo json_encode($OriginalArray); ?>;
//Rest of the code
</script>
享受;)