【发布时间】:2014-06-26 09:44:14
【问题描述】:
我有一个名为$people 的对象。它由我的数据库填充。这个对象看起来像这样:
Array
(
[0] => stdClass Object
(
[id] => 21
[fname] => Billy
[lname] => Boemba
[email] => email@example.com
[country] => The Netherlands
)
[1] => stdClass Object
(
[id] => 22
[fname] => Jill
[lname] => Jimba
[email] => email@example.com
[country] => Austria
)
我的 foreach 是这样的:
foreach($people as $person){
// echo some stuff about the person
}
所有这些都有效,但是当我的数据库中有一条记录时,$people 只有一个元素,当我尝试使用 foreach() 时出现错误:Notice: Trying to get property of non-object
那么如何在对象中使用foreach() 函数和一个元素?
【问题讨论】:
-
$people在哪里初始化? -
在 foreach 之前检查
is_array($people) -
创建
$people的函数应该一直把它变成一个数组,而不是只有一个人的时候一个对象,这样你就不用一直检查这个了。 -
不,首先为您看到错误的情况执行
var_dump($people)(在 foreach 调用之前) -
在这段代码之前,我知道它可以工作,但是当我删除数据库中的记录,所以只剩下一条记录时,php 给出了我所说的错误