如何创建对象PHP?
函数如何创建对象PHP?,php,Php,函数result()中有一个对象: 如何从下一个数组中获取相同的对象: $arr[$key] = array( 'Reason' => $status, 'Time' => $val->time, 'IdUser' => $val->dot, 'Date' => $val->date, 'IdUser' => $val->IdUser, 'Photo'
result()中有一个对象:
如何从下一个数组中获取相同的对象:
$arr[$key] = array(
'Reason' => $status,
'Time' => $val->time,
'IdUser' => $val->dot,
'Date' => $val->date,
'IdUser' => $val->IdUser,
'Photo' => $val->Photo
);
我试过
(object)$arr
你有一个很好的例子
关联数组已在对象中转换,您现在可以获取其属性
还有其他方法可以将数组转换为对象,请为您选择最佳解决方案:
使用
$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://stackoverflow.com/questions/1869091/convert-array-to-object-php
$obj = (object) array('foo' => 'bar', 'property' => 'value');
echo $obj->foo; // prints 'bar'
echo $obj->property; // prints 'value'
$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