在数据结构中添加stdClass对象

问题描述 投票:1回答:1
stdClass::__set_state(array(
   'zone1' => 
  array (
    0 => 
    stdClass::__set_state(array(
       'id' => '123',
       'owner' => '234',
       ...
    )),

我的基础知识有点儿,所以我遇到了麻烦......我需要创建上面的结构,但我不知道如何......

php data-structures stdclass
1个回答
8
投票
$a = new stdclass;
$a->zone1 = array();
$a->zone1[0] = new stdclass;
$a->zone1[0]->id = "123";
$a->zone1[0]->owner = "234";

或者,依赖于在将数组转换为对象时将数组转换为stdClass对象的事实:

$a = (object) array(
    "zone1" => array(
       (object) array("id" => "123", "owner" => "234"),
    ),
);

为此,var_export给出:

stdClass::__set_state(array(
   'zone1' => 
  array (
    0 => 
    stdClass::__set_state(array(
       'id' => '123',
       'owner' => '234',
    )),
  ),
))

请注意,Daniel已经指出,stdClass实际上并没有__set_state方法。我认为你只是通过给出var_export的输出来举例说明变量的结构。应该使用serialize进行序列化。

© www.soinside.com 2019 - 2024. All rights reserved.