Quick way to create a PHP stdClass

Simon Holywell shows how to quickly create the stdClass in PHP and populate it with properties and values, by casting an array to an object:

$x = (object) [
    'a' => 'test',
    'b' => 'test2',
    'c' => 'test3'
];
var_dump($x);

/*
object(stdClass)#1 (3) {
  ["a"]=>
  string(4) "test"
  ["b"]=>
  string(5) "test2"
  ["c"]=>
  string(5) "test3"
}
*/

A couple of things to keep in mind here are:

  1. In PHP, an associative array key have multiple same keys.  If you cast such an associative array to object, the latest key will silently overwrite the value of the previous ones.
  2. The order of properties in the object will not necessarily match the order of keys in the associative array.

Very handy!

Leave a Comment