3v4l.org

run code in 300+ PHP versions simultaneously
<?php $var11 = '12345'; $var12 = '22b'; $var13 = '12345x'; $var14 = '22'; $var15 = 12345; $var16 = 22; say("string comparisons:"); comparevar('var11 and var12', $var11, $var12); comparevar('var12 and var11', $var12, $var11); say("one numeric string, one string, make string comparisons:"); comparevar('var13 and var14', $var13, $var14); comparevar('var14 and var13', $var14, $var13); say("two numeric strings make numeric comparisons:"); comparevar('var11 and var14', $var11, $var14); comparevar('var14 and var11', $var14, $var11); say("two strings make string comparisons:"); comparevar('var12 and var13', $var12, $var13); comparevar('var13 and var12', $var13, $var12); say("two numbers make numeric comparisons:"); comparevar('var15 and var16', $var15, $var16); comparevar('var16 and var15', $var16, $var15); say("one numeric string, one number, make numeric comparisons:"); comparevar('var11 and var14', $var11, $var14); comparevar('var14 and var11', $var14, $var11); comparevar('var15 and var16', $var15, $var16); comparevar('var16 and var15', $var16, $var15); comparevar('var11 and var15', $var11, $var15); comparevar('var16 and var14', $var16, $var14); say("one string, one number, make numeric comparisons:"); comparevar('var13 and var15', $var13, $var15); comparevar('var12 and var16', $var12, $var16); comparevar('var13 and var16', $var13, $var16); comparevar('var15 and var12', $var15, $var12); say("and then some weirdness"); comparevar('var13 and var14', $var13, $var14); comparevar('var13 and var16', $var13, $var16); comparevar('var14 and var13', $var14, $var13); comparevar('var16 and var13', $var16, $var13); comparevar('var14 and var16', $var14, $var16); function comparevar($tag, $arg1, $arg2) { echo("$tag: "); if ($arg1 === $arg2) { say("$arg1 === $arg2"); } if ($arg1 == $arg2) { say("$arg1 == $arg2"); } if ($arg1 < $arg2) { say("$arg1 < $arg2"); } if ($arg1 > $arg2) { say("$arg1 > $arg2"); } if (((! ($arg1 < $arg2)) != ($arg1 > $arg2)) and ($arg1 != $arg2)) {say("screwy 1");} if (((! ($arg1 < $arg2)) != ($arg2 < $arg1)) and ($arg1 != $arg2)) {say("screwy 2");} } function say($str) { echo $str, "\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)
8.3.60.0160.00316.88
8.3.50.0100.01522.92
8.3.40.0120.00318.67
8.3.30.0140.00019.13
8.3.20.0040.00420.29
8.3.10.0080.00023.48
8.3.00.0060.00319.25
8.2.180.0160.00316.75
8.2.170.0040.01122.96
8.2.160.0060.00920.35
8.2.150.0040.00424.18
8.2.140.0040.00424.66
8.2.130.0000.00926.16
8.2.120.0080.00021.02
8.2.110.0070.00320.45
8.2.100.0060.00618.16
8.2.90.0000.00919.07
8.2.80.0030.00517.97
8.2.70.0030.00617.50
8.2.60.0040.00417.93
8.2.50.0000.00818.07
8.2.40.0090.00018.22
8.2.30.0000.00818.05
8.2.20.0000.00717.81
8.2.10.0020.00518.02
8.2.00.0000.00717.75
8.1.280.0150.00025.92
8.1.270.0090.00023.96
8.1.260.0080.00026.35
8.1.250.0040.01128.09
8.1.240.0060.00320.99
8.1.230.0120.00019.03
8.1.220.0080.00017.79
8.1.210.0080.00018.77
8.1.200.0030.00617.35
8.1.190.0000.00817.47
8.1.180.0030.00518.10
8.1.170.0000.00818.84
8.1.160.0040.00422.12
8.1.150.0070.00018.90
8.1.140.0040.00417.45
8.1.130.0050.00317.89
8.1.120.0040.00417.57
8.1.110.0000.00817.41
8.1.100.0040.00417.53
8.1.90.0000.00717.59
8.1.80.0000.00717.37
8.1.70.0070.00017.51
8.1.60.0030.00617.70
8.1.50.0000.00817.60
8.1.40.0000.00817.57
8.1.30.0000.00817.68
8.1.20.0040.00417.70
8.1.10.0040.00417.55
8.1.00.0080.00017.43
8.0.300.0040.00418.77
8.0.290.0040.00416.88
8.0.280.0080.00018.52
8.0.270.0000.00717.33
8.0.260.0030.00317.34
8.0.250.0080.00017.07
8.0.240.0000.00817.05
8.0.230.0030.00416.88
8.0.220.0040.00417.03
8.0.210.0040.00416.98
8.0.200.0000.00617.00
8.0.190.0030.00316.99
8.0.180.0070.00017.02
8.0.170.0000.00816.90
8.0.160.0050.00316.84
8.0.150.0000.00716.93
8.0.140.0000.00816.90
8.0.130.0030.00313.41
8.0.120.0050.00216.97
8.0.110.0070.00017.02
8.0.100.0040.00416.93
8.0.90.0040.00416.91
8.0.80.0110.00716.99
8.0.70.0040.00416.99
8.0.60.0040.00416.77
8.0.50.0080.00016.86
8.0.30.0090.01117.26
8.0.20.0130.00717.42
8.0.10.0040.00417.14
8.0.00.0130.00816.79
7.4.330.0050.00015.05
7.4.320.0030.00316.56
7.4.300.0030.00316.59
7.4.290.0000.00716.51
7.4.280.0000.00916.59
7.4.270.0000.00716.58
7.4.260.0030.00516.59
7.4.250.0080.00016.55
7.4.240.0030.00516.59
7.4.230.0030.00316.57
7.4.220.0100.00716.58
7.4.210.0070.00716.72
7.4.200.0040.00416.50
7.4.160.0120.00416.62
7.4.150.0110.00717.40
7.4.140.0100.00717.86
7.4.130.0110.00816.56
7.4.120.0120.00716.81
7.4.110.0110.01116.46
7.4.100.0110.00716.42
7.4.90.0080.01416.61
7.4.80.0130.00519.39
7.4.70.0000.01716.58
7.4.60.0070.01016.52
7.4.50.0060.00016.46
7.4.40.0100.01316.58
7.4.30.0050.01216.63
7.4.00.0070.01114.92
7.3.330.0030.00313.43
7.3.320.0060.00013.22
7.3.310.0030.00516.44
7.3.300.0030.00316.50
7.3.290.0030.01816.36
7.3.280.0060.01016.43
7.3.270.0150.00417.40
7.3.260.0100.01016.73
7.3.250.0070.01016.45
7.3.240.0110.00716.48
7.3.230.0070.01716.62
7.3.210.0030.01516.75
7.3.200.0070.01619.39
7.3.190.0060.01116.46
7.3.180.0100.01316.44
7.3.170.0160.00616.49
7.3.160.0090.00816.39
7.3.10.0060.00616.51
7.3.00.0030.00716.66
7.2.330.0110.00716.75
7.2.320.0130.01016.79
7.2.310.0110.00716.57
7.2.300.0080.00816.84
7.2.290.0130.00316.82
7.2.130.0060.00616.76
7.2.120.0120.00016.96
7.2.110.0110.01116.70
7.2.100.0090.00616.92
7.2.90.0080.00416.83
7.2.80.0030.00616.66
7.2.70.0100.00316.87
7.2.60.0060.00816.86
7.2.50.0030.01016.90
7.2.40.0000.01117.09
7.2.30.0030.00916.98
7.2.20.0090.00616.87
7.2.10.0030.00716.99
7.2.00.0030.00916.96
7.1.250.0060.00615.81
7.1.200.0000.01115.76
7.1.70.0060.00316.87
7.1.60.0100.01619.46
7.1.50.0070.01416.98
7.1.00.0100.06722.36
7.0.200.0080.00016.52
7.0.140.0030.07322.16
7.0.60.0100.08319.86
7.0.50.0030.08717.95
7.0.40.0100.08020.26
7.0.30.0300.07720.20
7.0.20.0330.07320.19
7.0.10.0070.08320.19
7.0.00.0070.09020.24
5.6.280.0100.07021.12
5.6.210.0030.05720.55
5.6.200.0130.05718.18
5.6.190.0100.03720.51
5.6.180.0030.04320.52
5.6.170.0200.04320.50
5.6.160.0070.08320.39
5.6.150.0100.06318.15
5.6.140.0070.07318.16
5.6.130.0130.04718.18
5.6.120.0100.08320.92
5.6.110.0130.07720.98
5.6.100.0100.08721.02
5.6.90.0070.04021.02
5.6.80.0030.08020.40
5.6.70.4000.04720.33
5.5.350.0170.07720.35
5.5.340.0070.03317.98
5.5.330.0070.05720.45
5.5.320.0530.07020.30
5.5.310.0270.05720.32
5.5.300.0030.08318.07
5.5.290.0070.08317.98
5.5.280.0130.07720.93
5.5.270.0100.08320.86
5.5.260.0200.07320.67
5.5.250.0100.05020.52
5.5.240.0200.06020.39
5.4.450.0200.03719.53
5.4.440.0230.04019.55
5.4.430.0430.02719.55
5.4.420.0170.05019.52
5.4.410.0200.04719.28
5.4.400.0270.04019.14
5.4.390.0230.04018.86
5.4.380.0430.05018.63
5.4.370.0430.05318.73
5.4.360.0470.05718.55
5.4.350.0630.07318.80
5.4.340.0300.05318.55
5.4.320.0030.03912.53
5.4.310.0050.04012.52
5.4.300.0050.03812.53
5.4.290.0090.03712.52
5.4.280.0070.04012.42
5.4.270.0090.03812.42
5.4.260.0040.03912.42
5.4.250.0050.03812.42
5.4.240.0050.03712.43
5.4.230.0080.04812.41
5.4.220.0090.03612.41
5.4.210.0070.03712.41
5.4.200.0070.04412.41
5.4.190.0050.03612.41
5.4.180.0050.04112.41
5.4.170.0080.03512.42
5.4.160.0080.04112.41
5.4.150.0080.03512.41
5.4.140.0050.04212.10
5.4.130.0120.03512.09
5.4.120.0090.03512.04
5.4.110.0050.03812.04
5.4.100.0040.03712.04
5.4.90.0080.04012.04
5.4.80.0050.03712.04
5.4.70.0070.03512.03
5.4.60.0050.03612.03
5.4.50.0040.04012.03
5.4.40.0040.03612.02
5.4.30.0070.03412.02
5.4.20.0050.03612.02
5.4.10.0060.04012.02
5.4.00.0060.03711.51
5.3.290.0080.04612.80
5.3.280.0080.03712.71
5.3.270.0070.03712.72
5.3.260.0070.04012.72
5.3.250.0110.03312.71
5.3.240.0070.04112.72
5.3.230.0070.04112.71
5.3.220.0060.03712.68
5.3.210.0090.03812.68
5.3.200.0100.04112.68
5.3.190.0050.04012.68
5.3.180.0060.03612.68
5.3.170.0060.04012.68
5.3.160.0040.03812.67
5.3.150.0080.03512.68
5.3.140.0100.03312.67
5.3.130.0070.04712.66
5.3.120.0080.04112.66
5.3.110.0080.03612.66
5.3.100.0050.04412.15
5.3.90.0070.03512.13
5.3.80.0040.03812.12
5.3.70.0050.03712.12
5.3.60.0090.03712.11
5.3.50.0090.03312.05
5.3.40.0100.03212.05
5.3.30.0060.03512.01
5.3.20.0060.03511.80
5.3.10.0070.03411.76
5.3.00.0040.03811.77
5.2.170.0070.0309.25
5.2.160.0040.0309.25
5.2.150.0060.0299.25
5.2.140.0020.0339.25
5.2.130.0030.0319.21
5.2.120.0050.0339.21
5.2.110.0030.0339.22
5.2.100.0040.0299.21
5.2.90.0060.0279.21
5.2.80.0060.0299.20
5.2.70.0060.0299.21
5.2.60.0050.0319.16
5.2.50.0040.0319.14
5.2.40.0050.0339.11
5.2.30.0060.0289.08
5.2.20.0080.0259.07
5.2.10.0040.0358.98
5.2.00.0040.0338.84
5.1.60.0060.0258.13
5.1.50.0080.0318.13
5.1.40.0040.0268.10
5.1.30.0030.0348.45
5.1.20.0040.0278.48
5.1.10.0040.0278.20
5.1.00.0030.0288.20
5.0.50.0020.0256.68
5.0.40.0040.0206.55
5.0.30.0050.0306.36
5.0.20.0050.0186.34
5.0.10.0030.0206.33
5.0.00.0070.0326.32
4.4.90.0050.0204.78
4.4.80.0020.0204.75
4.4.70.0050.0174.75
4.4.60.0030.0164.75
4.4.50.0040.0184.77
4.4.40.0020.0274.71
4.4.30.0040.0174.76
4.4.20.0040.0154.85
4.4.10.0030.0154.85
4.4.00.0020.0284.76
4.3.110.0040.0144.67
4.3.100.0020.0194.66
4.3.90.0030.0154.64
4.3.80.0040.0244.62
4.3.70.0040.0284.63
4.3.60.0020.0234.63
4.3.50.0030.0204.63
4.3.40.0060.0234.57
4.3.30.0010.0173.38
4.3.20.0030.0153.36
4.3.10.0020.0163.31
4.3.00.0000.02015.70

preferences:
68.36 ms | 400 KiB | 5 Q