3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ObjectToArrayConverter { /** * @param mixed $value * * @raturn array */ public static function toArray($value) { if (! (is_object($value) || is_array($value))) { return $value; } if (is_object($value) && method_exists($value, '__toArray')) { return $value->__toArray(); } return array_map(__METHOD__, (array) $value); } } $obj1 = new stdClass(); $obj2 = new stdClass(); $obj1->foo = 'foo'; $obj1->someArr = []; $obj1->obj2 = $obj2; $obj2->bar = 'bar'; var_dump(ObjectToArrayConverter::toArray($obj1));

preferences:
38.71 ms | 402 KiB | 5 Q