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]);
Output for 7.0.0, 8.3.5 - 8.3.30, 8.4.9 - 8.4.17, 8.5.1 - 8.5.2

preferences:
49.32 ms | 406 KiB | 5 Q