3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace namespacename; class classname { function __construct() { echo __METHOD__,"\n"; } } function funcname() { echo __FUNCTION__,"\n"; } const constname = "namespaced"; /////////////////////////// class classname { function __construct() { echo __METHOD__,"\n"; } } function funcname() { echo __FUNCTION__,"\n"; } const constname = "global"; $a = 'classname'; $obj = new $a; // prints classname::__construct $b = 'funcname'; $b(); // prints funcname echo constant('constname'), "\n"; // prints global //////////////////////////// /* note that if using double quotes, "\\namespacename\\classname" must be used */ $a = '\namespacename\classname'; $obj = new $a; // prints namespacename\classname::__construct $a = 'namespacename\classname'; $obj = new $a; // also prints namespacename\classname::__construct $b = 'namespacename\funcname'; $b(); // prints namespacename\funcname $b = '\namespacename\funcname'; $b(); // also prints namespacename\funcname echo constant('\namespacename\constname'), "\n"; // prints namespaced echo constant('namespacename\constname'), "\n"; // also prints namespaced ?>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.230.0150.03912.39
5.4.220.0190.05312.38
5.4.210.0100.04612.39
5.4.200.0130.04512.38
5.4.190.0140.04312.38
5.4.180.0110.04412.38
5.4.170.0120.04412.39
5.4.160.0190.06512.39
5.4.150.0130.04112.38
5.4.140.0130.04512.07
5.4.130.0170.04612.06
5.4.120.0140.04612.01
5.4.110.0120.06112.01
5.4.100.0160.04412.01
5.4.90.0130.04812.01
5.4.80.0150.04612.01
5.4.70.0180.05412.00
5.4.60.0130.04512.01
5.4.50.0140.04612.00
5.4.40.0120.04611.99
5.4.30.0120.04711.99
5.4.20.0100.04811.99
5.4.10.0130.05611.99
5.4.00.0120.04311.48
5.3.280.0130.04512.71
5.3.270.0120.04712.72
5.3.260.0150.04212.72
5.3.250.0140.04212.72
5.3.240.0110.04912.72
5.3.230.0210.06312.71
5.3.220.0130.04112.68
5.3.210.0110.04512.68
5.3.200.0130.04212.68
5.3.190.0130.04112.68
5.3.180.0120.04112.67
5.3.170.0120.04712.67
5.3.160.0120.04612.67
5.3.150.0130.04612.67
5.3.140.0140.04712.66
5.3.130.0130.04712.66
5.3.120.0120.04712.66
5.3.110.0130.04712.66
5.3.100.0120.04712.12
5.3.90.0150.04512.09
5.3.80.0130.04412.09
5.3.70.0290.06012.09
5.3.60.0130.04612.07
5.3.50.0130.04712.02
5.3.40.0180.04312.02
5.3.30.0220.08311.97
5.3.20.0160.04211.75
5.3.10.0140.04611.72
5.3.00.0150.04311.71

preferences:
140.94 ms | 1394 KiB | 7 Q