Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建对象PHP?_Php - Fatal编程技术网

如何创建对象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