3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Example { function RunEvent($event) { if (isset($this->events[$event])) { foreach ($this->events[$event] as $k => $v) { //call_user_func($v, &$this); // The above line is working code on PHP 5.3.3, but // throws a parse error on PHP 5.5.3. call_user_func($v, $this); } } } } $e = new Example; $e->events['example'][] = 'with_ref'; $e->events['example'][] = 'without_ref'; $e->RunEvent('example'); function with_ref(&$e) { $e->with_ref = true; } function without_ref($e) { $e->without_ref = true; } print_r($e);
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
Deprecated: Creation of dynamic property Example::$events is deprecated in /in/cv2BS on line 18 Warning: with_ref(): Argument #1 ($e) must be passed by reference, value given in /in/cv2BS on line 10 Deprecated: Creation of dynamic property Example::$with_ref is deprecated in /in/cv2BS on line 22 Deprecated: Creation of dynamic property Example::$without_ref is deprecated in /in/cv2BS on line 25 Example Object ( [events] => Array ( [example] => Array ( [0] => with_ref [1] => without_ref ) ) [with_ref] => 1 [without_ref] => 1 )
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
Warning: with_ref(): Argument #1 ($e) must be passed by reference, value given in /in/cv2BS on line 10 Example Object ( [events] => Array ( [example] => Array ( [0] => with_ref [1] => without_ref ) ) [with_ref] => 1 [without_ref] => 1 )
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Warning: Parameter 1 to with_ref() expected to be a reference, value given in /in/cv2BS on line 10 Example Object ( [events] => Array ( [example] => Array ( [0] => with_ref [1] => without_ref ) ) [with_ref] => 1 [without_ref] => 1 )
Output for 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
Warning: Parameter 1 to with_ref() expected to be a reference, value given in /in/cv2BS on line 10 Example Object ( [events] => Array ( [example] => Array ( [0] => with_ref [1] => without_ref ) ) [without_ref] => 1 )
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Example Object ( [events] => Array ( [example] => Array ( [0] => with_ref [1] => without_ref ) ) [with_ref] => 1 [without_ref] => 1 )
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9
example Object ( [events] => Array ( [example] => Array ( [0] => with_ref [1] => without_ref ) ) )

preferences:
244.96 ms | 402 KiB | 458 Q