[英]How create object PHP?
函数result():
有一个对象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
您在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'
您的关联数组将在一个对象中转换,您现在可以获取其属性。
还有另一种将数组转换为对象的方法,为您提供最佳解决方案:
使用$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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.