调用未定义的方法stdClass错误

时间:2012-03-16 16:46:56

标签: php arrays foreach stdclass

我正在尝试在foreach循环中实现下面的逻辑,其中$ rooms是返回的数据库对象。我想将数据分成5个不同的数组,每个数组的大小取决于从数据库返回的房间数。每当我实现下面的函数时,它为我提供了对未定义方法stdClass :: number_format()的调用,其中我认为我的数组正在被转换为stdClass。我环顾了网站,发现人们有同样的问题,但没有修复。我怎么能在PHP中执行此操作?

提前致谢

代码:

...
$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 个答案:

答案 0 :(得分:2)

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

......应该......

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