函数result():
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
如何从下一个数组中获取相同的对象:
$arr[$key] = array(
'Reason' => $status,
'Time' => $val->time,
'IdUser' => $val->dot,
'Date' => $val->date,
'IdUser' => $val->IdUser,
'Photo' => $val->Photo
);
我尝试了(object)$arr
答案 0 :(得分:1)
你在http://php.net/manual/es/language.oop5.php
上有一个很好的例子$obj = (object) array('foo' => 'bar', 'property' => 'value');
echo $obj->foo; // prints 'bar'
echo $obj->property; // prints 'value'
您的关联数组在对象中转换,您现在可以获取其属性。
有一些方法可以将数组转换为对象,为您提供最佳解决方案:
答案 1 :(得分:0)
$key
是一个字符串,它非常简单,只需转换为对象:
$key = 'test';
$arr[$key] = (object)array(
'Reason' => 1,
'Time' => 100,
'IdUser' => $val->dot,
'Date' => $val->date,
'IdUser' => $val->IdUser,
'Photo' => $val->Photo
);
$row = (object)$arr;
var_dump($row->test);
/*
object(stdClass)#1 (5) {
["Reason"]=>
int(1)
["Time"]=>
int(100)
["IdUser"]=>
NULL
["Date"]=>
NULL
["Photo"]=>
NULL
}
*/
echo $row->test->Time; //100
如果$key
是一个数字......你运气不好。例如,在某些php版本中,$row->{'2'}
可以工作,但主要是它不会 - 如果你想使用数字索引作为对象属性,你会在某处犯一些设计错误。请参阅此键盘以获取我的示例的来源:http://codepad.org/Y7F2xCnj