3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Test { public function __get( $property ) { if ( 'bla' === $property ) { echo 'Initializing Text->bla' . PHP_EOL; $this->bla = 'Value'; return $this->bla; } $message = sprintf( 'Undefined property: %s::$%s', get_class(), $property ); trigger_error( $message, E_USER_NOTICE); return null; } public function test_unset( $offset ) { unset ( $this->bla[ $offset ] ); } } $test = new Test(); echo $test->bla[2] . PHP_EOL; $test->test_unset( 2 ); echo $test->bla . PHP_EOL; echo $test->bla . PHP_EOL; echo $test->bla . PHP_EOL; echo $test->kaka . PHP_EOL; echo $test->bla . PHP_EOL;
Output for git.master, git.master_jit, rfc.property-hooks
Initializing Text->bla Deprecated: Creation of dynamic property Test::$bla is deprecated in /in/4oYJT on line 7 l Fatal error: Uncaught Error: Cannot unset string offsets in /in/4oYJT:21 Stack trace: #0 /in/4oYJT(29): Test->test_unset(2) #1 {main} thrown in /in/4oYJT on line 21
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
40.51 ms | 401 KiB | 8 Q