0

我在一个文件中有这段代码

//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,我只能看到第一个跨度,因为我的数据库查询是按升序排序的。其余的根本看不到。

4

2 回答 2

0

$array="span".$n;用字符串覆盖数组。

用于array_push( $array, "span$n" );将项目添加到数组中。

(然后你会想要从周围删除[and因为你会有一个数组 in )。]json_encode$array

于 2012-09-05T09:24:09.627 回答
0

您总是值“span”设置为 $array。

$array="span".$n;

您不会其添加到您将数组设置为该值的数组中。

利用:

$array[] ="span".$n;
于 2012-09-05T09:25:43.647 回答