Добавление объекта stdClass в структуру данных - PullRequest
1 голос
/ 25 июня 2010
stdClass::__set_state(array(
   'zone1' => 
  array (
    0 => 
    stdClass::__set_state(array(
       'id' => '123',
       'owner' => '234',
       ...
    )),

Мои основы немного уместны, поэтому у меня возникли проблемы с этим ... Мне нужно создать вышеуказанную структуру, но я не уверен, как ...

1 Ответ

8 голосов
/ 25 июня 2010
$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',
    )),
  ),
))

Обратите внимание, что, как указал Дэниел, stdClass на самом деле не имеет __set_state метода.Я предположил, что вы просто иллюстрировали структуру переменной, выдавая var_export.Вместо этого сериализацию следует выполнять с помощью serialize.

...