3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr1 []= 'wello'; $var2 = 'woodbye wruel world'; $var3 = pack("n*", 0x77, 0x32 + 0x33, 0x6c, 0x6e-2, 0x6f); $var4 = pack('n*', 0x7765, 0x6c6c, 0x6f00); echo "var3 = $var3"; var_dump($var4); if ($var4 == $arr1[0]) {echo "$var3 == $arr1[0]"; } var_dump(poor_mans_strcmp('a', 'z')); var_dump(poor_mans_strcmp('q111f', 'fffff')); var_dump(poor_mans_strcmp($arr1, $var2)); var_dump(poor_mans_strcmp($arr1[0], $var2)); var_dump(poor_mans_strcmp($var2, $var2)); var_dump(poor_mans_strcmp($arr1[0], $var3)); var_dump(poor_mans_strcmp($arr1[0], $var4)); function poor_mans_strcmp($str1, $str2) { # use old shell programming trick $str3 = 'a' . $str1; $str4 = 'a' . $str2; # strip null bytes to make it binary safe! $str3 = str_replace(chr(0), '', $str3); $str4 = str_replace(chr(0), '', $str4); var_dump($str3, $str4); $result = 0; if ($str3 < $str4) { $result = -1; } if ($str3 > $str4) { if ($result == -1) {echo "Serious error detected, keep on trucking!\n"; $result = 1; } return $result; }

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.320.2170.04319.00
5.4.310.2030.03719.13
5.4.300.2200.03718.87
5.4.290.2130.04319.08
5.4.280.1900.04019.08
5.4.270.2170.04319.14
5.4.260.2200.04019.15
5.4.250.2230.03719.13
5.4.240.1970.03319.21
5.4.230.2130.04718.99
5.4.220.1900.04019.23
5.4.210.2270.03019.23
5.4.200.2400.04019.16
5.4.190.2300.04719.30
5.4.180.2370.04719.13
5.4.170.2300.04718.97
5.4.160.2100.04318.82
5.4.150.2030.04019.13
5.4.140.1700.04016.28
5.4.130.2030.03316.37
5.4.120.2000.03016.30
5.4.110.2000.03316.50
5.4.100.1900.04016.45
5.4.90.2000.03316.54
5.4.80.2070.03316.56
5.4.70.1930.04316.50
5.4.60.1970.03716.43
5.4.50.2300.03316.43
5.4.40.0000.06316.32
5.4.30.0070.04016.38
5.4.20.0030.03716.55
5.4.10.1170.06016.34
5.4.00.2100.03315.73
5.3.290.1870.03014.78
5.3.280.2070.03714.63
5.3.270.1970.04014.71
5.3.260.2030.03714.73
5.3.250.2170.03714.52
5.3.240.2370.04314.59
5.3.230.1930.04314.58
5.3.220.2270.03714.49
5.3.210.1930.04014.48
5.3.200.2230.04714.48
5.3.190.2200.03714.59
5.3.180.2170.04314.48
5.3.170.2270.03014.57
5.3.160.2130.04714.56
5.3.150.2170.05014.58
5.3.140.2030.04014.48
5.3.130.1870.04014.63
5.3.120.2200.03714.68
5.3.110.2000.04014.63
5.3.100.2070.03714.02
5.3.90.2200.04314.18
5.3.80.2270.03313.96
5.3.70.1600.04314.15
5.3.60.0000.04714.10
5.3.50.0030.05714.05
5.3.40.1230.03013.97
5.3.30.1570.04013.85
5.3.20.1800.03313.73
5.3.10.1700.04013.69
5.3.00.1900.03713.56
5.2.170.1730.03711.25
5.2.160.1530.03011.24
5.2.150.1300.03311.28
5.2.140.1770.03011.24
5.2.130.1830.02711.03
5.2.120.1570.02711.03
5.2.110.1600.02311.04
5.2.100.1630.03011.02
5.2.90.1870.03311.03
5.2.80.1830.03311.18
5.2.70.1730.03311.06
5.2.60.1600.03311.11
5.2.50.1630.03311.00
5.2.40.1600.02710.96
5.2.30.1270.03710.90
5.2.20.1270.03311.09
5.2.10.1100.02710.80
5.2.00.1170.02310.74
5.1.60.1270.02710.01
5.1.50.1000.0309.96
5.1.40.1100.02310.22
5.1.30.0000.02710.43
5.1.20.0000.02710.30
5.1.10.0030.02710.23
5.1.00.0000.02710.02
5.0.50.0070.0208.80
5.0.40.0270.0238.36
5.0.30.0400.0378.22
5.0.20.0600.0278.15
5.0.10.0530.0178.08
5.0.00.0630.0308.27
4.4.90.0530.0177.43
4.4.80.0600.0137.43
4.4.70.0570.0137.43
4.4.60.0570.0177.43
4.4.50.0700.0207.43
4.4.40.0600.0277.43
4.4.30.0670.0137.43
4.4.20.0630.0177.43
4.4.10.0470.0177.43
4.4.00.0400.0307.43
4.3.110.0530.0137.43
4.3.100.0600.0177.43
4.3.90.0630.0137.43
4.3.80.0630.0237.43
4.3.70.0530.0137.43
4.3.60.0470.0177.43
4.3.50.0630.0137.43
4.3.40.0600.0237.43
4.3.30.0330.0137.43
4.3.20.0330.0137.43
4.3.10.0100.0137.43
4.3.00.0100.0177.43

preferences:
135.69 ms | 1394 KiB | 7 Q