3v4l.org

run code in 300+ PHP versions simultaneously
<?php say("strcmp(str1, str2): Returns < 0 if str1 is less than str2;\n", " > 0 if str1 is greater than str2, and 0 if they are equal.\n", " http://php.net/manual/en/function.strcmp.php"); say( "basic test"); string_lt('a', 'z'); say("numeric strings"); string_lt('22', '123'); say("non-numeric strings"); string_lt('bb', 'abc'); say("non-numeric strings with numbers in"); say("should be the same as "numeric strings" if strcmp() really does string comparison"); string_lt('22x', '123x'); say("numbers"); string_lt(22, 123); function string_lt($str1, $str2) { # < operator if ($str1 < $str2) { say("$str1 < $str2"); } if ($str2 < $str1) { say("$str2 < $str1"); } # good old strcmp() if (strcmp($str1, $str2) < 0) { say("strcmp says: $str1 < $str2"); } if (strcmp($str2, $str1) < 0) { say("strcmp says: $str2 < $str1"); } } function say() { $msgs = func_get_args(); foreach ($msgs as $msg) { echo $msg; } echo "\n"; }

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.0090.03412.50
5.4.310.0060.04812.49
5.4.300.0070.03512.50
5.4.290.0100.03412.50
5.4.280.0050.03512.39
5.4.270.0030.04112.39
5.4.260.0060.03612.39
5.4.250.0060.03612.39
5.4.240.0080.03312.39
5.4.230.0090.03412.39
5.4.220.0040.03712.38
5.4.210.0060.03512.38
5.4.200.0070.03512.39
5.4.190.0000.04012.38
5.4.180.0080.03212.39
5.4.170.0090.03112.38
5.4.160.0050.03512.39
5.4.150.0100.03212.38
5.4.140.0050.03712.07
5.4.130.0070.03312.05
5.4.120.0080.03212.02
5.4.110.0060.03412.01
5.4.100.0050.03412.02
5.4.90.0040.03712.01
5.4.80.0030.03712.01
5.4.70.0030.03512.00
5.4.60.0030.03612.01
5.4.50.0060.03412.01
5.4.40.0070.03511.99
5.4.30.0040.03611.99
5.4.20.0060.03411.99
5.4.10.0050.04011.99
5.4.00.0050.03711.49
5.3.290.0050.03912.80
5.3.280.0070.03612.70
5.3.270.0040.04012.73
5.3.260.0050.04012.72
5.3.250.0040.04112.72
5.3.240.0080.03412.72
5.3.230.0050.03712.71
5.3.220.0070.04112.68
5.3.210.0080.04512.68
5.3.200.0050.03712.68
5.3.190.0060.03612.68
5.3.180.0040.03912.67
5.3.170.0090.03512.66
5.3.160.0060.03812.67
5.3.150.0100.03512.68
5.3.140.0070.03412.66
5.3.130.0060.03612.66
5.3.120.0070.04312.66
5.3.110.0070.03712.65
5.3.100.0060.04012.12
5.3.90.0070.03512.08
5.3.80.0080.03312.07
5.3.70.0060.03612.08
5.3.60.0090.03412.06
5.3.50.0030.04112.00
5.3.40.0030.03812.00
5.3.30.0050.03411.95
5.3.20.0080.04111.73
5.3.10.0050.03411.70
5.3.00.0030.03711.68
5.2.170.0050.0299.19
5.2.160.0040.0299.19
5.2.150.0070.0289.18
5.2.140.0050.0299.18
5.2.130.0040.0289.14
5.2.120.0030.0309.14
5.2.110.0060.0389.15
5.2.100.0040.0329.14
5.2.90.0070.0269.15
5.2.80.0050.0299.14
5.2.70.0080.0299.15
5.2.60.0100.0319.09
5.2.50.0040.0299.06
5.2.40.0030.0309.04
5.2.30.0040.0309.02
5.2.20.0040.0299.01
5.2.10.0040.0288.93
5.2.00.0030.0308.79
5.1.60.0040.0238.07
5.1.50.0040.0248.07
5.1.40.0040.0268.05
5.1.30.0050.0258.40
5.1.20.0050.0258.42
5.1.10.0040.0258.14
5.1.00.0040.0258.15
5.0.50.0080.0176.63
5.0.40.0040.0236.49
5.0.30.0020.0316.29
5.0.20.0020.0206.27
5.0.10.0040.0266.25
5.0.00.0050.0286.24
4.4.90.0070.0134.78
4.4.80.0010.0194.75
4.4.70.0020.0164.76
4.4.60.0050.0184.75
4.4.50.0040.0144.77
4.4.40.0030.0244.71
4.4.30.0020.0154.76
4.4.20.0030.0204.84
4.4.10.0010.0174.85
4.4.00.0030.0244.76
4.3.110.0030.0144.67
4.3.100.0020.0204.66
4.3.90.0050.0224.64
4.3.80.0060.0214.58
4.3.70.0040.0134.63
4.3.60.0040.0134.62
4.3.50.0040.0174.63
4.3.40.0030.0234.54
4.3.30.0020.0183.29
4.3.20.0040.0143.26
4.3.10.0000.0173.23
4.3.00.0000.01718.41

preferences:
135.71 ms | 1398 KiB | 7 Q