我有一個奇怪的問題。我正在學習PHP(習慣用Java編程),我正在嘗試做一件簡單的事情。我有一個做了這樣的DAO方法:使用從PHP函數返回的對象數組
while (oci_fetch($parse)) {
$stats = new Stats();
$stats->setId($id);
$stats->setName($name);
$stats->setEmail($email);
$stats->setGender($gender);
$stats->setBirthday($birthday);
$statslist[] = $stats;
}
return $statslist;
而且我有一個使用此功能(稱爲getById)另一個PHP文件,作爲測試,像這樣:
$statsdao = new StatsDAO();
$statslist[] = $statsdao->getById(1);
foreach ($statslist as $stat) {
echo $stat->getName();
}
這看起來很簡單足夠了:DAO返回一個數組,我的另一個文件讀取返回的Stats數組並打印它。但我收到此錯誤消息,而不是:
Fatal error: Call to a member function getName() on a non-object in /var/www/socializi/interfaceusuario/index.php on line 25
奇怪的是:如果我叫DAO的getById函數內部foreach循環,它打印好嗎,但是當我調用該函數從外部給它分配到另一個數組,它不會將數組的內容識別爲對象。
我在這裏做錯了什麼? 謝謝!
嵌套的foreach工作得很好,非常感謝!你會碰巧知道爲什麼會發生這種情況?我的意思是,如果我返回一個數組,我不明白爲什麼我得到一個數組內的數組... – 2012-03-09 18:03:17