3v4l.org

run code in 300+ PHP versions simultaneously
<?php class foo { var $my_public = array(); //forward php4 to constructor function foo($one, $two) { $this->my_public[] = 'php4 constructor'; return $this->__construct($one, $two); } //constructor php5 function __construct($one, $two) { $this->my_public[] = 'php5 constructor'; $this->my_public[] = $one; $this->my_public[] = $two; register_shutdown_function(array(&$this, "__destruct")); } function dump() { print_r($this->my_public); } function __destruct () {} } $test = new foo('een', 'twee'); $test->dump();
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 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.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Array ( [0] => php5 constructor [1] => een [2] => twee )
Output for 5.1.3 - 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
Strict Standards: Redefining already defined constructor for class foo in /in/Xi7JO on line 15 Array ( [0] => php5 constructor [1] => een [2] => twee )
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.2
Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/Xi7JO on line 4 Strict Standards: Redefining already defined constructor for class foo in /in/Xi7JO on line 15 Array ( [0] => php5 constructor [1] => een [2] => twee )
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9
Array ( [0] => php4 constructor [1] => php5 constructor [2] => een [3] => twee )

preferences:
287.01 ms | 401 KiB | 456 Q