2012-09-05 84 views
0

我有這一段代碼在一個單一的文件json_encode僅返回一個對象

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

$array="span".$n;用字符串覆蓋數組。使用array_push($array, "span$n");將項目添加到數組。

(然後您將從json_encode附近刪除[],因爲您將在$array中有一個數組)。

+0

謝謝,我固定的,但我仍然得到同樣的錯誤影響 –

0

你總是設置值「span」爲$ array。

$array="span".$n; 

你不添加它給你設置數組中該數值的陣列。

用途:

$array[] ="span".$n;