需要在JavaScript中循环遍历PHP数组

Rog*_*vis 5 javascript php

例如,我有一个PHP数组,例如这个

<?php $s= array('a','b','c','d','e','f') ; ?>
Run Code Online (Sandbox Code Playgroud)

我需要在JavaScript中循环它,任何想法我该怎么做?

for ( i=0 ; i < <?php echo sizeof($s) ?> ; i++) {
document.write('<?php echo $s [somehow need to get the 'i' value into here] ?>');
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢!

Z. *_*tev 9

在你的ehco/ print或你的php数组之前,我们确保它是用JavaScript语法.

<?php
$s=array('a','b','c','d','e','f');
$s_to_json=json_encode((array)$s);
?>

<script type="text/javascript">

var fromPHP=<? echo $s_to_json ?>;

for (i=0; i<fromPHP.length; i++) {

yourValue=fromPHP[i];

}

</script>
Run Code Online (Sandbox Code Playgroud)


zaf*_*zaf 5

<?php
$s= array('a','b','c','d','e','f') ;
?>

<?php foreach($s as $a){ ?>

document.write('<?=$a?>');

<?php } ?>
Run Code Online (Sandbox Code Playgroud)

未经测试,但那是一种方式。


Dan*_*ham 5

Javascript和PHP无法组合.它们是两个完全不同的程序,只能模糊地交流.PHP在服务器计算机上运行并生成HTML.javascript在webbrowser中的客户端计算机上运行,​​并作用于该HTML.如果您需要以某种方式将信息从PHP移动到Javscript中,那么您必须将其存储在HTML中并让Javascript通过该HTML访问它.如果你需要反过来,将信息从Javascript移动到PHP,让Javascript调用带有查询字符串的PHP页面.

将信息放置在Javascript可以到达的数组中的一种方法是将其回显到隐藏的div中.在一系列ided跨度或只是逗号分隔列表中.然后你可以把它从DOM中拉出来.

例如:

<div style="display: none;" id="myArray">
<?php 
echo '<span id="myArray.count">'.sizeof($s).'</span>';
for ($i = 0; $i < sizeof($s); $i++) {
    echo '<span id="myArray.'.$i.'">'.$s[$i].'</span>';
}
?>
</div>
Run Code Online (Sandbox Code Playgroud)

然后在Javascript中,您可以访问DOM中的数组:

var myArray = new Array();

for(i = 0; i < document.getElementById('myArray.count').innerHTML; i++) {
  document.write(document.getElementById('myArray.'+i).innerHTML);
}
Run Code Online (Sandbox Code Playgroud)

免责声明:未经测试的代码,我现在没时间完善它.如果有人想评论或编辑修复任何错误随意:)