调用未定义的方法stdClass错误


Call to undefined method stdClass error

我试图在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
?>
$darray[i] = $room->number_format($room->D,9);

应该是…

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