Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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,我有一个像这样的数组 $data['id'][0] = 123; $data['id'][1] = 302; 。。。。 等等,我必须把它转换成这样的物体 $object = ['id' => [123, 302.....]]; 我似乎无法以这种方式实现这一目标 $object = (object)$data; 如何在PHP中实现这一点?最有效的方法是什么。谢谢创建如下对象类: class myObject { public $myArray; public function

我有一个像这样的数组

$data['id'][0] = 123;
$data['id'][1] = 302;
。。。。 等等,我必须把它转换成这样的物体

$object = ['id' => [123, 302.....]];
我似乎无法以这种方式实现这一目标

$object = (object)$data;

如何在PHP中实现这一点?最有效的方法是什么。谢谢

创建如下对象类:

class myObject {
  public $myArray;

  public function __construct($myArray = array()) {
     foreach ($myArray as $value)
     {
        $this->myArray[] = $value;
     }
  }

}
$newArray = new myObject($data['id']);
当您启动一个新对象时,您将能够像这样传递值:

class myObject {
  public $myArray;

  public function __construct($myArray = array()) {
     foreach ($myArray as $value)
     {
        $this->myArray[] = $value;
     }
  }

}
$newArray = new myObject($data['id']);
然后,如果您想查看阵列中的内容,只需执行以下操作:

foreach ($newArray->myArray as $value)
{
  echo "{$value}<br>";
}
foreach($newArray->myArray作为$value)
{
回声“{$value}
”; }
有很多方法可以做到这一点,
json_解码(json_encode(..)
,使用带有stdclass的新arr可能与您所说的
$object=['id'=>[123302….]重复???请参见示例: