3v4l.org

run code in 300+ PHP versions simultaneously
<?php # basic test string_lt('a', 'z'); string_lt('z', 'a'); # numeric strings string_lt('22', '123'); string_lt('123', '22'); # non-numeric strings string_lt('bb', 'abc'); string_lt('abc', 'bb'); # non-numeric strings with numbers in # should be the same as "numeric strings" if strcmp() really does string comparison string_lt('22x', '123x'); string_lt('123x', '22x'); function string_lt($str1, $str2) { # < operator if ($str1 < $str2) { say "$str1 < $str2"; } } function string_lt_old($str1, $str2) { # you can't use < operator for comparing strings # wacky stuff will happen $lt_says = ((string) $str1 < (string) $str2); # see what strcmp() says $strcmp_says = strcmp($str1, $str2); echo "$str1 less than $str2; lt_says: $lt_says, strcmp_says: $strcmp_says\n"; } function say(...$msgs) { 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.0070.04112.52
5.4.310.0100.03912.51
5.4.300.0070.03512.52
5.4.290.0040.04012.51
5.4.280.0040.03712.41
5.4.270.0090.03312.41
5.4.260.0050.03812.41
5.4.250.0060.03712.41
5.4.240.0040.03712.41
5.4.230.0050.03912.40
5.4.220.0050.03712.40
5.4.210.0050.03512.40
5.4.200.0050.03712.40
5.4.190.0070.03312.40
5.4.180.0070.03412.40
5.4.170.0050.03712.40
5.4.160.0100.03012.40
5.4.150.0030.03712.39
5.4.140.0090.03312.09
5.4.130.0060.04012.07
5.4.120.0080.03812.03
5.4.110.0050.03512.03
5.4.100.0030.03712.03
5.4.90.0060.03512.03
5.4.80.0060.03512.03
5.4.70.0060.03312.03
5.4.60.0040.03512.03
5.4.50.0040.03712.03
5.4.40.0040.03512.01
5.4.30.0050.03812.01
5.4.20.0060.03812.01
5.4.10.0090.03212.01
5.4.00.0060.03411.50
5.3.290.0020.04212.80
5.3.280.0080.03612.71
5.3.270.0040.03912.73
5.3.260.0080.03612.72
5.3.250.0060.03712.72
5.3.240.0070.03712.72
5.3.230.0020.04012.71
5.3.220.0070.03712.68
5.3.210.0030.04212.68
5.3.200.0060.03612.68
5.3.190.0060.03812.68
5.3.180.0080.03412.67
5.3.170.0040.03812.67
5.3.160.0060.03612.67
5.3.150.0040.03912.67
5.3.140.0080.03612.66
5.3.130.0080.04112.66
5.3.120.0070.04412.66
5.3.110.0050.04512.66
5.3.100.0090.03912.12
5.3.90.0070.04012.11
5.3.80.0090.04312.10
5.3.70.0050.04312.10
5.3.60.0050.04112.08
5.3.50.0170.03612.04
5.3.40.0140.05012.03
5.3.30.0080.04311.99
5.3.20.0060.04011.77
5.3.10.0030.04211.73
5.3.00.0080.04011.73
5.2.170.0060.0349.23
5.2.160.0050.0319.22
5.2.150.0060.0369.22
5.2.140.0060.0389.22
5.2.130.0030.0329.18
5.2.120.0050.0309.18
5.2.110.0080.0299.19
5.2.100.0090.0289.18
5.2.90.0080.0279.18
5.2.80.0080.0299.18
5.2.70.0070.0309.18
5.2.60.0070.0299.13
5.2.50.0060.0309.11
5.2.40.0080.0279.08
5.2.30.0050.0319.05
5.2.20.0070.0289.05
5.2.10.0040.0308.95
5.2.00.0080.0268.81
5.1.60.0040.0258.10
5.1.50.0020.0288.09
5.1.40.0050.0298.07
5.1.30.0060.0358.42
5.1.20.0100.0328.44
5.1.10.0060.0318.17
5.1.00.0040.0268.17
5.0.50.0030.0216.64
5.0.40.0030.0226.51
5.0.30.0050.0306.32
5.0.20.0050.0186.28
5.0.10.0080.0166.27
5.0.00.0030.0316.26
4.4.90.0040.0144.78
4.4.80.0030.0154.76
4.4.70.0040.0144.76
4.4.60.0050.0134.75
4.4.50.0040.0174.77
4.4.40.0110.0224.71
4.4.30.0100.0244.76
4.4.20.0080.0164.84
4.4.10.0110.0254.85
4.4.00.0110.0264.76
4.3.110.0080.0184.67
4.3.100.0040.0184.66
4.3.90.0040.0144.63
4.3.80.0030.0254.59
4.3.70.0040.0144.63
4.3.60.0040.0134.63
4.3.50.0030.0164.63
4.3.40.0060.0274.54
4.3.30.0030.0153.31
4.3.20.0020.0173.29
4.3.10.0020.0163.24
4.3.00.0070.01318.41

preferences:
140.69 ms | 1398 KiB | 7 Q