0

このコードは1つのファイルに含まれています

//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>

私が見る画面への出力は、たった1つの「スパン」です。つまり、arraylstサイズが3の場合、データベースクエリが昇順で並べ替えられているため、最初のスパンしか表示されません。残りは全く見られません。

4

2 に答える 2

0

$array="span".$n;配列を文字列で上書きします。

array_push( $array, "span$n" );配列に項目を追加するために使用します。

(次に、 に配列があるため、の周りから[andを削除する必要があります)。]json_encode$array

于 2012-09-05T09:24:09.627 に答える
0

常に値「スパン」を $array に設定します

$array="span".$n;

配列をその値に設定した配列には追加しません。

使用する:

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