3v4l.org

run code in 300+ PHP versions simultaneously
<?php if ( ! function_exists('subarray_element')) { /** * Gets the sub-array containing a value of certain key present in it * * @param array $arr contains arrays with key => val pairs * @param string $id_key key of the subarray to filter * @param string $id_val value of the corresponding key * @return first element matching the value provided or FALSE * @link https://stackoverflow.com/q/13933454/6225838 * @author CPHPython */ function subarray_element($arr, $id_key, $id_val = NULL) { return current(array_filter( $arr, function ($subarr) use($id_key, $id_val) { if(array_key_exists($id_key, $subarr)) return $subarr[$id_key] == $id_val; } )); } } $list = [ [ 'id' => '3243', 'link' => 'fruits', 'lev' => '1', ], [ 'id' => '6546', 'link' => 'apple', 'lev' => '2', ], [ 'id' => '9348', 'link' => 'orange', 'lev' => '2', ], [ 'id' => '9000', 'link' => 'orange', 'lev' => '2', ] ]; echo 'Matching pair: '.var_export(subarray_element($list, 'id', 9348), TRUE).PHP_EOL.'-------'.PHP_EOL. 'Non-matching pair: '.var_export(subarray_element($list, 'id', 42), TRUE).PHP_EOL.'-------'.PHP_EOL. 'Duplicate pair: '.var_export(subarray_element($list, 'link', 'orange'), TRUE).PHP_EOL.'-------'.PHP_EOL; usort($list, function($f1, $f2){ return $f1['id'] > $f2['id']; }); echo 'Duplicate pair after sortind by id: '.var_export(subarray_element($list, 'link', 'orange'), TRUE);

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.0090.00618.43
8.3.50.0120.00318.33
8.3.40.0170.00718.60
8.3.30.0150.00018.84
8.3.20.0080.00019.16
8.3.10.0060.00323.57
8.3.00.0040.00420.67
8.2.180.0140.00016.75
8.2.170.0150.00022.96
8.2.160.0120.00619.21
8.2.150.0040.00424.18
8.2.140.0040.00424.66
8.2.130.0080.00026.16
8.2.120.0000.00819.77
8.2.110.0060.00321.00
8.2.100.0090.00318.03
8.2.90.0000.00918.16
8.2.80.0080.00019.14
8.2.70.0090.00017.63
8.2.60.0040.00418.09
8.2.50.0060.00318.10
8.2.40.0000.00819.35
8.2.30.0000.00720.79
8.2.20.0070.00018.21
8.2.10.0050.00318.43
8.2.00.0050.00319.64
8.1.280.0070.01025.92
8.1.270.0040.00424.66
8.1.260.0000.00826.35
8.1.250.0040.00428.09
8.1.240.0060.00319.14
8.1.230.0080.00421.03
8.1.220.0050.00317.79
8.1.210.0060.00318.77
8.1.200.0050.00317.48
8.1.190.0060.00317.25
8.1.180.0000.00818.10
8.1.170.0030.00618.77
8.1.160.0000.00818.95
8.1.150.0070.00019.01
8.1.140.0090.00020.80
8.1.130.0040.00417.54
8.1.120.0030.00617.54
8.1.110.0040.00417.52
8.1.100.0000.00717.53
8.1.90.0050.00317.41
8.1.80.0040.00417.42
8.1.70.0090.00017.54
8.1.60.0040.00417.67
8.1.50.0060.00317.58
8.1.40.0040.00417.55
8.1.30.0000.00817.67
8.1.20.0000.00917.66
8.1.10.0040.00417.62
8.1.00.0000.00717.46
8.0.300.0040.00420.19
8.0.290.0000.00916.88
8.0.280.0070.00018.50
8.0.270.0030.00317.00
8.0.260.0030.00516.83
8.0.250.0040.00716.95
8.0.240.0030.00517.10
8.0.230.0070.00017.07
8.0.220.0000.00716.97
8.0.210.0000.00716.98
8.0.200.0000.00616.96
8.0.190.0030.00517.01
8.0.180.0040.00417.04
8.0.170.0000.00817.02
8.0.160.0000.00717.13
8.0.150.0000.00716.99
8.0.140.0030.00316.92
8.0.130.0000.00613.44
8.0.120.0080.00016.95
8.0.110.0030.00516.94
8.0.100.0000.00717.09
8.0.90.0040.00416.80
8.0.80.0100.01317.01
8.0.70.0040.00417.07
8.0.60.0040.00416.97
8.0.50.0050.00216.89
8.0.30.0120.00817.24
8.0.20.0090.00917.40
8.0.10.0070.00017.02
8.0.00.0080.01016.90
7.4.330.0020.00215.55
7.4.320.0000.00616.57
7.4.300.0030.00316.58
7.4.290.0070.00016.57
7.4.280.0000.00816.54
7.4.270.0000.00816.59
7.4.260.0000.00716.67
7.4.250.0000.00816.60
7.4.240.0000.00716.50
7.4.230.0050.00316.68
7.4.220.0000.00916.73
7.4.210.0110.00616.64
7.4.200.0030.00316.61
7.4.160.0070.01016.47
7.4.140.0050.01517.86
7.4.130.0160.00616.55
7.4.120.0140.00816.59
7.4.110.0110.00616.63
7.4.100.0040.01416.50
7.4.90.0120.00916.53
7.4.80.0110.01119.39
7.4.70.0090.00916.63
7.4.60.0130.00616.61
7.4.50.0040.01116.70
7.4.40.0110.00916.48
7.4.00.0080.00815.13
7.3.330.0000.00513.41
7.3.320.0030.00313.32
7.3.310.0000.00716.35
7.3.300.0040.00416.21
7.3.290.0000.00716.30
7.3.280.0100.00716.31
7.3.260.0090.00916.48
7.3.240.0090.01116.44
7.3.230.0060.01116.44
7.3.210.0100.00716.32
7.3.200.0100.00616.70
7.3.190.0030.01316.55
7.3.180.0160.00016.43
7.3.170.0030.01316.61
7.3.160.0140.00716.40
7.2.330.0180.00616.78
7.2.320.0040.01416.69
7.2.310.0070.01716.83
7.2.300.0100.00616.52
7.2.290.0070.01416.38
7.2.90.0140.00514.94
7.2.80.0090.00614.89
7.2.70.0140.00715.07
7.2.60.0050.01814.91
7.2.50.0170.01415.13
7.2.40.0110.00815.06
7.2.30.0100.00714.79
7.2.20.2740.00315.05
7.2.10.2050.00714.88
7.2.00.0160.00415.18
7.1.210.0070.00714.04
7.1.200.0140.00713.95
7.1.190.0030.01314.07
7.1.180.0180.00013.81
7.1.170.0070.01013.94
7.1.160.0090.00613.71
7.1.150.0430.00313.97
7.1.140.2620.00413.96
7.1.130.1630.00313.95
7.1.120.0360.01113.96
7.1.110.0090.00613.98
7.1.100.0090.00513.74
7.1.90.0370.00913.85
7.1.80.0050.00914.11
7.1.70.0070.00713.94
7.1.60.0290.00631.75
7.1.50.0270.01731.67
7.1.40.2970.00731.97
7.1.30.1080.00431.59
7.1.20.0220.01932.09
7.1.10.0070.01014.20
7.1.00.0130.00013.97

preferences:
57.64 ms | 401 KiB | 5 Q