3v4l.org

run code in 300+ PHP versions simultaneously
<?php class SerializableClass implements Serializable { public $sharedProp; public function __construct($prop) { $this->sharedProp = $prop; } public function __set($key, $value) { $this->$key = $value; } public function serialize() { return serialize(get_object_vars($this)); } public function unserialize($data) { $ar = unserialize($data); if ($ar === false) { return; } foreach ($ar as $k => $v) { $this->__set($k, $v); } } } spl_autoload_register(function($class) { $testPropertyObj = new stdClass(); $testPropertyObj->name = 'test'; $array = [ 'obj1' => new SerializableClass($testPropertyObj), 'obj2' => new SerializableClass($testPropertyObj), ]; var_dump(unserialize(serialize($array))); class X {} }); unserialize('O:1:"X":0:{}');

preferences:
88.67 ms | 402 KiB | 5 Q