3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace bed { class A { private $id=5; protected $b; public $c; public function __sleep() { return ['id']; } } class B extends A{ public function __sleep(){ return parent::__sleep(); } } class D extends A{ public function __sleep(){ return ["\0bed\A\0id"]; } } class CoolD extends A { private $d; protected $e; public $f; public function __sleep(){ $allProperties = []; $reflection = new \ReflectionClass($this); do{ foreach ($reflection->getProperties() as $prop) { $allProperties[($prop->isPrivate() ? "\0" . $prop->getDeclaringClass()->getName() . "\0" . $prop->getName() : $prop->getName())] = true; } }while($reflection = $reflection->getParentClass()); return array_keys($allProperties); } } class C extends A{ } // var_dump(serialize(new C)); - not working // var_dump(serialize(new B)); - not working var_dump(serialize(new D)); var_dump(serialize(new CoolD)); }
Output for 7.1.25 - 7.1.30, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
string(36) "O:5:"bed\D":1:{s:9:"bed\Aid";i:5;}" string(108) "O:9:"bed\CoolD":6:{s:12:"bed\CoolDd";N;s:4:"*e";N;s:1:"f";N;s:4:"*b";N;s:1:"c";N;s:9:"bed\Aid";i:5;}"
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
171.92 ms | 407 KiB | 5 Q