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

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

4

1 回答 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(数组(
   '区域1' =>
  大批 (
    0 =>
    stdClass::__set_state(数组(
       'id' => '123',
       '所有者' => '234',
    )),
  ),
))

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

于 2010-06-25T09:20:31.973 回答