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(array(
   「ゾーン1」=>
  配列 (
    0 =>
    stdClass::__set_state(array(
       'id' => '123',
       '所有者' => '234',
    ))、
  )、
)))

ダニエルが指摘したように、実際にはメソッドstdClassがないことに注意してください。__set_stateの出力を与えることで、変数の構造を例示しているだけだと思いましたvar_export。代わりにシリアル化を行う必要がありますserialize

于 2010-06-25T09:20:31.973 に答える