3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class Test{ const SOMETHING = 1; private static $someMap; private $level; private $levelStr; private function Test($level, $levelStr){ $this->level = $level; $this->levelStr = $levelStr; } public static function getSomething(){ $cName = 'SOMETHING'; $sName = 'something'; self::setMap($cName,$sName); return self::$someMap[constant('Test::'.$cName)]; } public static function setMap($cName,$sName){ if(!isset(self::$someMap[constant('Test::'.$cName)])) { print "setting it"; self::$someMap['Test::'.$cName] = new Test('Test::'.$cName, $sName); } } } $lvl = Test::getSomething(); print_r($lvl);
based on LvOnU
Output for 7.0.0 - 7.1.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Test has a deprecated constructor in /in/CYmEs on line 2 setting it Notice: Undefined offset: 1 in /in/CYmEs on line 17
Output for hhvm-3.10.0 - 3.12.0
setting it Notice: Undefined index: 1 in /in/CYmEs on line 17
Output for 5.3.0 - 5.6.28
setting it Notice: Undefined offset: 1 in /in/CYmEs on line 17
Output for 5.0.0 - 5.2.17
setting it Notice: Undefined offset: 1 in /in/CYmEs on line 17
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/CYmEs on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/CYmEs on line 3
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/CYmEs on line 3
Process exited with code 255.