我正在遍历mysql查询并将值存储到对象中。我希望自动迭代对象,就像我将数据存储到数组中一样。
以下是我正在做的事情:
$i = 0;
foreach( $query->result() as $row )
{
$data->$i = $row;
$i++;
}
我想模仿下面的代码,但是对于一个对象,在上面的代码中删除了对$i
的需求:
foreach( $query->result() as $row )
$data[] = $row;
在foreach或while循环中将变量存储到对象时迭代对象的等效于$data[] = $row
是什么?
注意:显然我不应该以这种方式使用对象。你能详细说明为什么会这样吗?
答案 0 :(得分:4)
没有一个,因为对象不能那样工作。此外,如果你想以线性方式存储东西,那么你不应该以这种方式使用对象。
答案 1 :(得分:1)
如果要创建一个对象,可以使用foreach()
进行迭代,它必须实现迭代器接口,参见。 http://php.net/iterator
答案 2 :(得分:1)
您可以使用数组存储数据,然后将其转换为对象!