/hphp/test/slow/collection_classes/array-diff-2.php
PHP | 68 lines | 66 code | 2 blank | 0 comment | 5 complexity | 6adbbabb814ba170a0e539ef61ebe178 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?hh
- function f($x) {
- $arr = (array)$x;
- uasort(inout $arr, function($a,$b) {
- if (is_int($a) != is_int($b)) {
- if (is_int($a)) return -1;
- return 1;
- }
- if ($a < $b) return -1;
- if ($a > $b) return 1;
- return 0;
- });
- var_dump($arr);
- }
- function main() {
- $a1 = varray["1", 1, "2", 3, 4, "a", "7"];
- $m1 = Map {0 => "1", 1 => 1, 2 => "2", 3 => 3, 4 => 4, 5 => "a", 6 => "7"};
- $s1 = Set {"1", 1, "2", 3, 4, "a", "7"};
- $a2 = varray[1, "3", 5, "a"];
- $m2 = Map {0 => 1, 1 => "3", 2 => 5, 3 => "a"};
- $s2 = Set {1, "3", 5, "a"};
- $a3 = varray["0", 7];
- $m3 = Map {0 => "0", 1 => 7};
- $s3 = Set {"0", 7};
- f(array_diff($a1, $a2));
- f(array_diff($m1, $a2));
- f(array_diff($s1, $a2));
- f(array_diff($a1, $m2));
- f(array_diff($m1, $m2));
- f(array_diff($s1, $m2));
- f(array_diff($a1, $s2));
- f(array_diff($m1, $s2));
- f(array_diff($s1, $s2));
- echo "========\n";
- f(array_diff($a1, $a2, $a3));
- f(array_diff($m1, $a2, $a3));
- f(array_diff($s1, $a2, $a3));
- f(array_diff($a1, $m2, $a3));
- f(array_diff($m1, $m2, $a3));
- f(array_diff($s1, $m2, $a3));
- f(array_diff($a1, $s2, $a3));
- f(array_diff($m1, $s2, $a3));
- f(array_diff($s1, $s2, $a3));
- f(array_diff($a1, $a2, $m3));
- f(array_diff($m1, $a2, $m3));
- f(array_diff($s1, $a2, $m3));
- f(array_diff($a1, $m2, $m3));
- f(array_diff($m1, $m2, $m3));
- f(array_diff($s1, $m2, $m3));
- f(array_diff($a1, $s2, $m3));
- f(array_diff($m1, $s2, $m3));
- f(array_diff($s1, $s2, $m3));
- f(array_diff($a1, $a2, $s3));
- f(array_diff($m1, $a2, $s3));
- f(array_diff($s1, $a2, $s3));
- f(array_diff($a1, $m2, $s3));
- f(array_diff($m1, $m2, $s3));
- f(array_diff($s1, $m2, $s3));
- f(array_diff($a1, $s2, $s3));
- f(array_diff($m1, $s2, $s3));
- f(array_diff($s1, $s2, $s3));
- }
- <<__EntryPoint>>
- function main_array_diff_2() {
- main();
- }