Пример использования stdClass. Динамическое задание свойств объекта
<?php
$std = new stdClass();
$std->first = 1;
$std->second->third = 3;
print_R($std);
?>
stdClass Object
(
[first] => 1
[second] => stdClass Object
(
[third] => 3
)
)
<?php
class DynamicProperties { }
$object = new DynamicProperties;
print isset($object->foo) ? 't' : 'f'; // f
// Set Dynamic Properties foo and fooz
$object->foo = 'bar';
$object->fooz = 'baz';
// Isset and Unset work
isset($object->foo); // true
unset($object->foo);
// Iterate through Properties and Values
foreach($object as $property => $value) {
print($property . ' = ' . $value . '<br />');
}
// Prints:
// fooz = baz
Перевести многомерный массив в экземляр stdClass
<?php
$a = array('a'=>array('1','2','3',
array( 'a'=>'b', 'c'=>'d', 'e'=>array(4,5,6) )),
'b'=>array(7,8,9),
'c'=>array());
$b = json_decode(json_encode($a));
print_r($b);
Источники:
- 2 - www.krisjordan.com
- 3 - jira.mongodb.org