3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $value = 42; public function property( $value = null ) { $ret = $this->value; if ( func_num_args() === 0 ) { echo "Called as getter!\n"; } else { echo "Called as setter!\n"; $this->value = $value; } return $ret; } } $foo = new Foo; echo "Calling as getter...\n"; var_dump( $foo->property() ); echo "Calling as setter...\n"; var_dump( $foo->property( 123 ) ); echo "Calling as setter, passing null...\n"; var_dump( $foo->property( null ) ); echo "Calling as getter...\n"; var_dump( $foo->property() );
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.28, 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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Calling as getter... Called as getter! int(42) Calling as setter... Called as setter! int(42) Calling as setter, passing null... Called as setter! int(123) Calling as getter... Called as getter! NULL
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/A6aCc on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/A6aCc on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/A6aCc on line 4
Process exited with code 255.

preferences:
329.9 ms | 401 KiB | 432 Q