例如,我有一个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)
有什么建议?谢谢!
在你的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)
<?php
$s= array('a','b','c','d','e','f') ;
?>
<?php foreach($s as $a){ ?>
document.write('<?=$a?>');
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
未经测试,但那是一种方式。
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)
免责声明:未经测试的代码,我现在没时间完善它.如果有人想评论或编辑修复任何错误随意:)