1--TEST-- 2Test of the array_diff_key() and array_diff_ukey() 3--FILE-- 4<?php 5$a = array(1, 6, 2, -20, 15, 1200, -2500); 6$b = array(0, 7, 2, -20, 11, 1100, -2500); 7$c = array(0, 6, 2, -20, 19, 1000, -2500); 8$d = array(3, 8,-2, -20, 14, 900, -2600); 9$a_f = array_flip($a); 10$b_f = array_flip($b); 11$c_f = array_flip($c); 12$d_f = array_flip($d); 13$i = 1; 14/* give nicer values */ 15foreach ($a_f as $k=> &$a_f_el) { $a_f_el =$k*2;} 16foreach ($b_f as $k=> &$b_f_el) { $b_f_el =$k*2;} 17foreach ($c_f as $k=> &$c_f_el) { $c_f_el =$k*2;} 18foreach ($d_f as $k=> &$d_f_el) { $d_f_el =$k*2;} 19 20echo "------ Test $i --------\n";$i++;// 1 21var_dump(array_diff_key($a_f, $b_f));// keys -> 1, 6, 15, 1200 22var_dump(array_diff_ukey($a_f, $b_f, "comp_func"));// 1, 6, 15, 1200 23 24echo "------ Test $i --------\n";$i++;// 2 25var_dump(array_diff_key($a_f, $c_f));// keys -> 1, 15, 1200 26var_dump(array_diff_ukey($a_f, $c_f, "comp_func"));// 1, 15, 1200 27 28echo "------ Test $i --------\n";$i++;// 3 29var_dump(array_diff_key($a_f, $d_f));// 1, 6, 2, 15, 1200, -2500 30var_dump(array_diff_ukey($a_f, $d_f, "comp_func"));// 1, 6, 2, 15, 1200, -2500 31 32echo "------ Test $i --------\n";$i++;// 4 33var_dump(array_diff_key($a_f, $b_f, $c_f));// 1, 15, 1200 34var_dump(array_diff_ukey($a_f, $b_f, $c_f, "comp_func"));// 1, 15, 1200 35 36echo "------ Test $i --------\n";$i++;// 5 37var_dump(array_diff_key($a_f, $b_f, $d_f));// 1, 6, 15, 1200 38var_dump(array_diff_ukey($a_f, $b_f, $d_f, "comp_func"));// 1, 6, 15, 1200 39 40 41echo "------ Test $i --------\n";$i++;// 6 42var_dump(array_diff_key($a_f, $b_f, $c_f, $d_f));// 1, 15, 1200 43var_dump(array_diff_ukey($a_f, $b_f, $c_f, $d_f, "comp_func"));//1, 15, 1200 44 45 46echo "------ Test $i --------\n";$i++;// 7 47var_dump(array_diff_key($b_f, $c_f));// 7, 11, 1100 48var_dump(array_diff_ukey($b_f, $c_f, "comp_func"));//7, 11, 1100 49 50echo "------ Test $i --------\n";$i++;// 8 51var_dump(array_diff_key($b_f, $d_f));//0, 7, 2, 11, 1100, -2500 52var_dump(array_diff_ukey($b_f, $d_f, "comp_func"));//0, 7, 2, 11, 1100, -2500 53 54 55echo "------ Test $i --------\n";$i++;// 9 56var_dump(array_diff_key($b_f, $c_f, $d_f));// 7, 11, 1100 57var_dump(array_diff_ukey($b_f, $c_f, $d_f, "comp_func"));// 7, 11, 1000 58 59function comp_func($a, $b) { 60 if ($a === $b) return 0; 61 return ($a > $b)? 1:-1; 62 63} 64?> 65--EXPECTF-- 66------ Test 1 -------- 67array(4) { 68 [1]=> 69 int(2) 70 [6]=> 71 int(12) 72 [15]=> 73 int(30) 74 [1200]=> 75 int(2400) 76} 77array(4) { 78 [1]=> 79 int(2) 80 [6]=> 81 int(12) 82 [15]=> 83 int(30) 84 [1200]=> 85 int(2400) 86} 87------ Test 2 -------- 88array(3) { 89 [1]=> 90 int(2) 91 [15]=> 92 int(30) 93 [1200]=> 94 int(2400) 95} 96array(3) { 97 [1]=> 98 int(2) 99 [15]=> 100 int(30) 101 [1200]=> 102 int(2400) 103} 104------ Test 3 -------- 105array(6) { 106 [1]=> 107 int(2) 108 [6]=> 109 int(12) 110 [2]=> 111 int(4) 112 [15]=> 113 int(30) 114 [1200]=> 115 int(2400) 116 [-2500]=> 117 &int(-5000) 118} 119array(6) { 120 [1]=> 121 int(2) 122 [6]=> 123 int(12) 124 [2]=> 125 int(4) 126 [15]=> 127 int(30) 128 [1200]=> 129 int(2400) 130 [-2500]=> 131 &int(-5000) 132} 133------ Test 4 -------- 134array(3) { 135 [1]=> 136 int(2) 137 [15]=> 138 int(30) 139 [1200]=> 140 int(2400) 141} 142array(3) { 143 [1]=> 144 int(2) 145 [15]=> 146 int(30) 147 [1200]=> 148 int(2400) 149} 150------ Test 5 -------- 151array(4) { 152 [1]=> 153 int(2) 154 [6]=> 155 int(12) 156 [15]=> 157 int(30) 158 [1200]=> 159 int(2400) 160} 161array(4) { 162 [1]=> 163 int(2) 164 [6]=> 165 int(12) 166 [15]=> 167 int(30) 168 [1200]=> 169 int(2400) 170} 171------ Test 6 -------- 172array(3) { 173 [1]=> 174 int(2) 175 [15]=> 176 int(30) 177 [1200]=> 178 int(2400) 179} 180array(3) { 181 [1]=> 182 int(2) 183 [15]=> 184 int(30) 185 [1200]=> 186 int(2400) 187} 188------ Test 7 -------- 189array(3) { 190 [7]=> 191 int(14) 192 [11]=> 193 int(22) 194 [1100]=> 195 int(2200) 196} 197array(3) { 198 [7]=> 199 int(14) 200 [11]=> 201 int(22) 202 [1100]=> 203 int(2200) 204} 205------ Test 8 -------- 206array(6) { 207 [0]=> 208 int(0) 209 [7]=> 210 int(14) 211 [2]=> 212 int(4) 213 [11]=> 214 int(22) 215 [1100]=> 216 int(2200) 217 [-2500]=> 218 &int(-5000) 219} 220array(6) { 221 [0]=> 222 int(0) 223 [7]=> 224 int(14) 225 [2]=> 226 int(4) 227 [11]=> 228 int(22) 229 [1100]=> 230 int(2200) 231 [-2500]=> 232 &int(-5000) 233} 234------ Test 9 -------- 235array(3) { 236 [7]=> 237 int(14) 238 [11]=> 239 int(22) 240 [1100]=> 241 int(2200) 242} 243array(3) { 244 [7]=> 245 int(14) 246 [11]=> 247 int(22) 248 [1100]=> 249 int(2200) 250} 251