【发布时间】:2012-05-11 06:38:56
【问题描述】:
我想将许多对象推入一个数组中
每个对象都有不同的价值
但是当我将它们推入数组时
它们的所有值都相同
如何解决这个问题?
$sql="select password, mail from account";
$result=mysql_query($sql);
$arr=array();
while($row=mysql_fetch_assoc($result))
{
$o->pw=$row['password'];
$o->mail=$row['mail'];
array_push($arr, $o);
}
echo json_encode($arr);
【问题讨论】:
-
"all values of them are same"这是什么意思?你能显示数组的print_r()吗? -
$o是什么?这是从哪里来的? -
我不确定,但您可能必须创建对象的新实例。
$o一直指向同一个对象。 -
如果您不使用来自
array_push()函数的返回值,使用$arr[] = $o表示法会更快。 -
如果有人想知道,这里已经回答了这个问题:stackoverflow.com/questions/5625308/…