3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?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.1.0
Array ( [0] => php5 constructor [1] => een [2] => twee )
Output for 5.1.3 - 5.6.28
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.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.4.9
Array ( [0] => php4 constructor [1] => php5 constructor [2] => een [3] => twee )