3v4l.org

run code in 300+ PHP versions simultaneously
<?php class C { static function foo($x = null) {} } $reflMethod = new ReflectionMethod('C', 'foo'); $reflParam = $reflMethod->getParameters()[0]; // Warning: Attempted to serialize unserializable builtin class ReflectionMethod $serReflMethod = serialize($reflMethod); // No warning. $serReflParam = serialize($reflParam); $unserReflParam = unserialize($serReflParam); // Fatal error: ReflectionParameter::isOptional(): Internal error: Failed to retrieve the reflection object $unserReflParam->isOptional();
Output for 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Fatal error: Uncaught Exception: Serialization of 'ReflectionMethod' is not allowed in /in/QvOFH:11 Stack trace: #0 /in/QvOFH(11): serialize(Object(ReflectionMethod)) #1 {main} thrown in /in/QvOFH on line 11
Process exited with code 255.
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33
Fatal error: Uncaught Error: Internal error: Failed to retrieve the reflection object in /in/QvOFH:18 Stack trace: #0 /in/QvOFH(18): ReflectionParameter->isOptional() #1 {main} thrown in /in/QvOFH on line 18
Process exited with code 255.
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
Fatal error: ReflectionParameter::isOptional(): Internal error: Failed to retrieve the reflection object in /in/QvOFH on line 18
Process exited with code 255.

preferences:
281.54 ms | 402 KiB | 369 Q