我有一个奇怪的问题。我正在学习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