我将这段代码放在一个文件中
//declaring something
$array=array();
$arraylst=/*retrieve from database query and sure this contains the correct result*/
<?php
if(!empty($array)):
?>
<div id="something">
<?php
$n=0;
foreach($arraylst as $key=>$val):
$array="span".$n;
//create a span and print out $val's property1
$n++;
endforeach;
$n=0;
foreach($array as $key=>$val):
//create a span and print out $val's property2
$n++;
endforeach;
</div>
<?php
endif;
?>
<script language="javascript">
var arr=[<?php echo json_encode($array); ?>]
//do something else
</script>
我看到的屏幕输出只有一个“跨度”;也就是说,如果我的arraylst
大小为3,我只能看到第一个跨度,因为我的数据库查询是按升序排序的。其余部分根本没有看到。
答案 0 :(得分:0)
$array="span".$n;
用字符串覆盖数组。
使用array_push( $array, "span$n" );
将项添加到数组中。
(然后,您要删除[
周围的]
和json_encode
,因为$array
中有一个数组。
答案 1 :(得分:0)
您始终将值设置为$ array。
$array="span".$n;
您不将添加到您将设置数组的数组添加到该值。
使用:
$array[] ="span".$n;