3v4l.org

run code in 300+ PHP versions simultaneously
<?php class UnSerializable implements Serializable { public function serialize() {} public function unserialize($serialized) {} } $unser = new UnSerializable(); $arr = [$unser]; $arr[] = &$arr[0]; $arr[] = 'endcap'; $arr[] = &$arr[2]; $data = serialize($arr); echo $data . PHP_EOL; $recovered = unserialize($data); var_export($recovered);
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Deprecated: UnSerializable implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/YD9fS on line 3 a:4:{i:0;N;i:1;N;i:2;s:6:"endcap";i:3;R:4;} array ( 0 => NULL, 1 => NULL, 2 => 'endcap', 3 => 'endcap', )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Deprecated: UnSerializable implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/YD9fS on line 3 a:4:{i:0;N;i:1;N;i:2;s:6:"endcap";i:3;R:4;} array ( 0 => NULL, 1 => NULL, 2 => 'endcap', 3 => 'endcap', )
Output for 7.4.14 - 7.4.33, 8.0.1 - 8.0.30
a:4:{i:0;N;i:1;N;i:2;s:6:"endcap";i:3;R:4;} array ( 0 => NULL, 1 => NULL, 2 => 'endcap', 3 => 'endcap', )
Output for 7.3.4 - 7.3.33, 7.4.0 - 7.4.13, 8.0.0
a:4:{i:0;N;i:1;N;i:2;s:6:"endcap";i:3;R:3;} array ( 0 => NULL, 1 => NULL, 2 => 'endcap', 3 => NULL, )
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.3
a:4:{i:0;N;i:1;R:2;i:2;s:6:"endcap";i:3;R:3;} array ( 0 => NULL, 1 => NULL, 2 => 'endcap', 3 => 'endcap', )

preferences:
173.25 ms | 402 KiB | 185 Q