在数据结构中添加stdClass对象

时间:2010-06-25 09:17:04

标签: php data-structures stdclass

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

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

1 个答案:

答案 0 :(得分: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代替。