Creating anonymous objects in php

“Anonymous” is not the correct terminology when talking about objects. It would be better to say “object of anonymous type“, but this does not apply to PHP.

All objects in PHP have a class. The “default” class is stdClass, and you can create objects of it this way:

$obj = new stdClass;
$obj->aProperty = 'value';

You can also take advantage of casting an array to an object for a more convenient syntax:

$obj = (object)array('aProperty' => 'value');
print_r($obj);

However, be advised that casting an array to an object is likely to yield “interesting” results for those array keys that are not valid PHP variable names — for example, here’s an answer of mine that shows what happens when keys begin with digits.

Leave a Comment