3v4l.org

run code in 300+ PHP versions simultaneously
<?php $values1 = [1, 2, 3, 4, 5]; $values2 = [3, 4, 6, 7]; // You can construct the set iteratively $set1 = []; foreach ([1, 2, 3, 4, 5] as $val) { $set1[$val] = true; } assert(array_keys($set1) == [1, 2, 3, 4, 5]); // Or all at once $set2 = array_fill_keys($values2, true); assert(array_keys($set2) == [3, 4, 6, 7]); // Set operations $union = $set1 + $set2; assert(array_keys($union) == [1, 2, 3, 4, 5, 6, 7]); $intersection = array_intersect_key($set1, $set2); assert(array_keys($intersection) == [3, 4]); // This one's still quite ugly $exclusion = array_diff_key($set1, $set2) + array_diff_key($set2, $set1); assert(array_keys($exclusion) == [1, 2, 5, 6, 7]); $difference = array_diff_key($set1, $set2); assert(array_keys($difference) == [1, 2, 5]);

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.5.20.0100.00917.49
8.5.10.0130.00516.87
8.4.170.0130.00920.61
8.4.160.0120.00922.20
8.4.90.0110.00917.92
8.3.300.0170.00718.42
8.3.290.0150.00718.50
8.3.180.0110.00816.66
8.3.50.0080.01216.78
7.0.00.0290.00817.17

preferences:
29.27 ms | 403 KiB | 5 Q