2012-03-16 58 views
0

我想實現下面的邏輯在$房間是返回的數據庫對象的foreach循環。我想將數據分成5個不同的數組,每個數組的大小取決於從數據庫返回的房間數量。每當我實現下面的函數,它爲我提供了一個未定義方法的調用stdClass :: number_format(),我認爲我的數組被轉換爲stdClass。我環顧了網站,發現有同樣問題但沒有修復的人。我如何在PHP中執行此操作?調用未定義的方法stdClass錯誤

在此先感謝

代碼:

... 
$rooms = $db->query($sql, PDO::FETCH_OBJ); 

$barray = array(); 
$rarray = array(); 
$darray = array(); 
$latarray = array(); 
$lonarray = array(); 

$i = 0; 
foreach ($rooms as $room): 
    $barray[i] = $room->Bldg; 
    $rarray[i] = $room->Room; 
    $darray[i] = $room->number_format($room->D,9); 
    $latarray[i] = number_format($room->Latitude,7,".",""); 
    $lonarray[i] = number_format($room->Longitude,7,".",""); 
    $i = $i + 1; 
endforeach 
?> 
+1

你確定你不應該使用PDO :: FETCH_CLASS?因爲當使用PDO :: FETCH_OBJ時,pdo返回通用的stdClass對象。 – SirDarius 2012-03-16 16:51:22

+3

是什麼讓你認爲'$ room-> number_format'應該可以工作? – Gordon 2012-03-16 16:51:23

回答

2
$darray[i] = $room->number_format($room->D,9); 

...應該是...

$darray[i] = number_format($room->D,9); 
相關問題