3v4l.org

run code in 300+ PHP versions simultaneously
<?php $refs = array(); function wrap( $arr){ // Need to clear out the global references array, I chose to do this here global $refs; $refs = array(); test( $arr); } function test( $arr){ global $refs; foreach( $arr as $v) { if( $v === $arr || in_array( $v, $refs)) { print ' ref '; $refs[] = $v; } else { if( is_array( $v)) { test( $v); } else { print $v . ', '; } } } } echo "Array 1:\n"; $array1 = array(1, 2, 3); $array1[4] = &$array1; wrap( $array1); echo "\nArray 2:\n"; $array2 = array(1, 2, 3, array(1, 2, 3)); $array2[2] = &$array2; wrap( $array2); echo "\nArray 3:\n"; $array3 = array(1, 2, 3, array(1, 2, 3)); $array3[3][1] = &$array3; wrap( $array3);

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.0260.01318.38
8.3.50.0450.01521.77
8.3.40.0590.01622.31
8.3.30.0340.03423.04
8.3.20.0200.00021.57
8.3.10.0310.00324.04
8.3.00.0130.01024.26
8.2.180.0490.02019.25
8.2.170.0530.01322.96
8.2.160.0340.00321.85
8.2.150.0140.00424.18
8.2.140.0130.01024.66
8.2.130.0260.01026.21
8.2.120.0240.01022.75
8.2.110.0150.00621.39
8.2.100.0220.00319.03
8.2.90.0060.00920.83
8.2.80.0070.00720.63
8.2.70.0170.00720.13
8.2.60.0090.01220.30
8.2.50.0140.01420.38
8.2.40.0070.01520.54
8.2.30.0100.00320.83
8.2.20.0060.00919.18
8.2.10.0100.00319.09
8.2.00.0140.00720.15
8.1.280.0140.01725.92
8.1.270.0290.01025.64
8.1.260.0120.01226.35
8.1.250.0110.01128.09
8.1.240.0180.00422.54
8.1.230.0140.01022.07
8.1.220.0030.01119.16
8.1.210.0080.00620.39
8.1.200.0160.01219.98
8.1.190.0110.00418.91
8.1.180.0090.00618.60
8.1.170.0050.00919.78
8.1.160.0070.01120.27
8.1.150.0160.01321.59
8.1.140.0040.01118.82
8.1.130.0030.01019.38
8.1.120.0060.01520.23
8.1.110.0140.00019.02
8.1.100.0070.00718.84
8.1.90.0120.00920.07
8.1.80.0100.00318.91
8.1.70.0180.00720.22
8.1.60.0100.00718.91
8.1.50.0120.00318.84
8.1.40.0080.00618.77
8.1.30.0070.00718.89
8.1.20.0030.01018.92
8.1.10.0070.00718.75
8.1.00.0130.00018.80
8.0.300.0170.01023.40
8.0.290.0070.00718.65
8.0.280.0100.01321.16
8.0.270.0190.00619.92
8.0.260.0130.00018.02
8.0.250.0090.00318.07
8.0.240.0070.00718.10
8.0.230.0130.00018.22
8.0.220.0060.01519.66
8.0.210.0110.00418.12
8.0.200.0130.01319.55
8.0.190.0030.01218.07
8.0.180.0070.00718.22
8.0.170.0120.00318.13
8.0.160.0250.00419.95
8.0.150.0030.01018.22
8.0.140.0030.01217.94
8.0.130.0230.00316.47
8.0.120.0030.01217.96
8.0.110.0100.00317.93
8.0.100.0090.00618.43
8.0.90.0070.01420.08
8.0.80.0270.02718.05
8.0.70.0060.01520.16
8.0.60.0150.00720.13
8.0.50.0100.00317.93
8.0.30.0720.04419.88
8.0.20.0800.05619.10
8.0.10.0080.00418.01
8.0.00.0760.08019.49
7.4.330.0100.01018.70
7.4.320.0070.01419.32
7.4.300.0060.00617.72
7.4.290.0030.00917.69
7.4.280.0060.00617.65
7.4.270.0100.00317.75
7.4.260.0060.01017.72
7.4.250.0140.00017.73
7.4.240.0130.00618.66
7.4.230.0120.00919.83
7.4.220.0130.04618.27
7.4.210.0220.03218.10
7.4.200.0150.00619.89
7.4.190.0060.00617.64
7.4.160.0680.03518.03
7.4.150.0890.06020.14
7.4.140.0330.03517.86
7.4.130.0440.04117.78
7.4.120.0830.05319.61
7.4.110.0780.04319.32
7.4.100.0980.06320.11
7.4.90.0330.03618.15
7.4.80.0560.03519.39
7.4.70.0290.02617.68
7.4.60.0180.03717.59
7.4.50.0150.00718.07
7.4.40.0200.01022.77
7.4.30.0420.05319.08
7.3.330.0130.00314.88
7.3.320.0030.00914.50
7.3.310.0070.01518.81
7.3.300.0100.01019.25
7.3.290.0130.02917.46
7.3.280.0310.05919.11
7.3.270.0330.02717.60
7.3.260.0770.06019.37
7.3.250.0700.05919.57
7.3.240.0710.04919.07
7.3.230.0460.02617.84
7.3.210.0470.02717.67
7.3.200.0230.02919.39
7.3.190.0270.03617.92
7.3.180.0480.02317.97
7.3.170.0260.02617.88
7.3.160.0450.04618.93
7.2.330.0870.05419.77
7.2.320.0370.02117.91
7.2.310.0580.05819.91
7.2.300.0560.04319.63
7.2.290.0460.03617.80
7.2.100.1300.01116.29
7.2.90.0950.01216.06
7.2.80.0980.02016.14
7.2.70.0800.02016.21
7.2.60.1620.01216.48
7.2.50.0750.02016.10
7.2.40.0990.01716.24
7.2.30.1240.01316.26
7.2.20.0940.01716.06
7.2.10.1550.02616.09
7.2.00.1300.01616.27
7.1.220.0810.02015.17
7.1.210.0970.02115.21
7.1.200.1930.02015.23
7.1.190.1660.01415.51
7.1.180.1560.02615.60
7.1.170.1050.01014.98
7.1.160.1480.02415.49
7.1.150.0780.02215.15
7.1.140.1470.02715.46
7.1.130.0380.00815.25
7.1.120.1780.01515.18
7.1.110.0290.02115.12
7.1.100.0650.02215.26
7.1.90.0990.01915.16
7.1.80.0610.02316.50
7.1.70.1530.01715.46
7.1.60.2460.02733.83
7.1.50.2570.01733.51
7.1.40.1460.01034.16
7.1.30.0780.02235.24
7.1.20.1600.02634.62
7.1.10.1780.01215.57
7.1.00.0310.01214.90
7.0.310.0990.01414.82
7.0.300.2130.01615.14
7.0.290.1820.00714.91
7.0.280.1310.02414.98
7.0.270.1380.00715.13
7.0.260.0970.02215.16
7.0.250.0270.01515.20
7.0.240.0850.01214.81
7.0.230.2000.01415.13
7.0.220.1170.01715.12
7.0.210.0440.01715.19
7.0.200.2130.01914.95
7.0.190.1690.00715.25
7.0.180.1730.01315.29
7.0.170.1720.01714.95
7.0.160.0410.01514.88
7.0.150.1520.02615.22
7.0.140.2760.01815.16
7.0.130.0280.01015.11
7.0.120.1920.00715.20
7.0.110.0370.01015.41
7.0.100.1400.01015.09
7.0.90.1700.01315.06
5.6.380.0460.02322.79
5.6.370.0320.02921.95
5.6.360.0390.02222.34
5.6.350.0480.04127.60
5.6.340.0270.03322.02
5.6.330.0390.02823.34
5.6.320.0410.02523.30
5.6.310.0470.02222.18
5.6.300.0410.03525.39
5.6.290.0390.03024.70
5.6.280.0410.04427.09
5.6.270.0490.04325.81
5.6.260.0310.03122.17
5.6.250.0230.03322.46

preferences:
45.14 ms | 401 KiB | 5 Q