3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = new DateTime('yesterday'); $restrict_array = array(); if (is_callable(array($start, '__sleep'))) { echo "Called: __sleep()".PHP_EOL; var_dump($restrict_array = $start->__sleep()); echo PHP_EOL.PHP_EOL.PHP_EOL; } $serialized = array( 'class' => get_class($start), 'state' => (array) $start ); if (!empty($restrict_array)) { $serialized['state'] = array_intersect_key($serialized['state'], $restrict_array); } echo "Serialized Data:".PHP_EOL; var_dump($serialized); echo PHP_EOL.PHP_EOL.PHP_EOL; unset($start); if (is_callable(array($serialized['class'], '__set_state'))) { echo "Called: __set_state()".PHP_EOL; var_dump($serialized['class']::__set_state($serialized['state'])); echo PHP_EOL.PHP_EOL.PHP_EOL; } if (is_callable(array($serialized['class'], '__wakeup'))) { echo "Called: __wakeup()".PHP_EOL; $serialized['class']::__wakeup(); }

preferences:
71.78 ms | 402 KiB | 5 Q