Annotation of embedaddon/php/ext/standard/tests/array/array_diff_key.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test 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 */
15: foreach ($a_f as $k=> &$a_f_el) { $a_f_el =$k*2;}
16: foreach ($b_f as $k=> &$b_f_el) { $b_f_el =$k*2;}
17: foreach ($c_f as $k=> &$c_f_el) { $c_f_el =$k*2;}
18: foreach ($d_f as $k=> &$d_f_el) { $d_f_el =$k*2;}
19:
20: echo "------ Test $i --------\n";$i++;// 1
21: var_dump(array_diff_key($a_f, $b_f));// keys -> 1, 6, 15, 1200
22: var_dump(array_diff_ukey($a_f, $b_f, "comp_func"));// 1, 6, 15, 1200
23:
24: echo "------ Test $i --------\n";$i++;// 2
25: var_dump(array_diff_key($a_f, $c_f));// keys -> 1, 15, 1200
26: var_dump(array_diff_ukey($a_f, $c_f, "comp_func"));// 1, 15, 1200
27:
28: echo "------ Test $i --------\n";$i++;// 3
29: var_dump(array_diff_key($a_f, $d_f));// 1, 6, 2, 15, 1200, -2500
30: var_dump(array_diff_ukey($a_f, $d_f, "comp_func"));// 1, 6, 2, 15, 1200, -2500
31:
32: echo "------ Test $i --------\n";$i++;// 4
33: var_dump(array_diff_key($a_f, $b_f, $c_f));// 1, 15, 1200
34: var_dump(array_diff_ukey($a_f, $b_f, $c_f, "comp_func"));// 1, 15, 1200
35:
36: echo "------ Test $i --------\n";$i++;// 5
37: var_dump(array_diff_key($a_f, $b_f, $d_f));// 1, 6, 15, 1200
38: var_dump(array_diff_ukey($a_f, $b_f, $d_f, "comp_func"));// 1, 6, 15, 1200
39:
40:
41: echo "------ Test $i --------\n";$i++;// 6
42: var_dump(array_diff_key($a_f, $b_f, $c_f, $d_f));// 1, 15, 1200
43: var_dump(array_diff_ukey($a_f, $b_f, $c_f, $d_f, "comp_func"));//1, 15, 1200
44:
45:
46: echo "------ Test $i --------\n";$i++;// 7
47: var_dump(array_diff_key($b_f, $c_f));// 7, 11, 1100
48: var_dump(array_diff_ukey($b_f, $c_f, "comp_func"));//7, 11, 1100
49:
50: echo "------ Test $i --------\n";$i++;// 8
51: var_dump(array_diff_key($b_f, $d_f));//0, 7, 2, 11, 1100, -2500
52: var_dump(array_diff_ukey($b_f, $d_f, "comp_func"));//0, 7, 2, 11, 1100, -2500
53:
54:
55: echo "------ Test $i --------\n";$i++;// 9
56: var_dump(array_diff_key($b_f, $c_f, $d_f));// 7, 11, 1100
57: var_dump(array_diff_ukey($b_f, $c_f, $d_f, "comp_func"));// 7, 11, 1000
58:
59: function comp_func($a, $b) {
60: if ($a === $b) return 0;
61: return ($a > $b)? 1:-1;
62:
63: }
64: ?>
65: --EXPECTF--
66: ------ Test 1 --------
67: array(4) {
68: [1]=>
69: int(2)
70: [6]=>
71: int(12)
72: [15]=>
73: int(30)
74: [1200]=>
75: int(2400)
76: }
77: array(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 --------
88: array(3) {
89: [1]=>
90: int(2)
91: [15]=>
92: int(30)
93: [1200]=>
94: int(2400)
95: }
96: array(3) {
97: [1]=>
98: int(2)
99: [15]=>
100: int(30)
101: [1200]=>
102: int(2400)
103: }
104: ------ Test 3 --------
105: array(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: }
119: array(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 --------
134: array(3) {
135: [1]=>
136: int(2)
137: [15]=>
138: int(30)
139: [1200]=>
140: int(2400)
141: }
142: array(3) {
143: [1]=>
144: int(2)
145: [15]=>
146: int(30)
147: [1200]=>
148: int(2400)
149: }
150: ------ Test 5 --------
151: array(4) {
152: [1]=>
153: int(2)
154: [6]=>
155: int(12)
156: [15]=>
157: int(30)
158: [1200]=>
159: int(2400)
160: }
161: array(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 --------
172: array(3) {
173: [1]=>
174: int(2)
175: [15]=>
176: int(30)
177: [1200]=>
178: int(2400)
179: }
180: array(3) {
181: [1]=>
182: int(2)
183: [15]=>
184: int(30)
185: [1200]=>
186: int(2400)
187: }
188: ------ Test 7 --------
189: array(3) {
190: [7]=>
191: int(14)
192: [11]=>
193: int(22)
194: [1100]=>
195: int(2200)
196: }
197: array(3) {
198: [7]=>
199: int(14)
200: [11]=>
201: int(22)
202: [1100]=>
203: int(2200)
204: }
205: ------ Test 8 --------
206: array(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: }
220: array(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 --------
235: array(3) {
236: [7]=>
237: int(14)
238: [11]=>
239: int(22)
240: [1100]=>
241: int(2200)
242: }
243: array(3) {
244: [7]=>
245: int(14)
246: [11]=>
247: int(22)
248: [1100]=>
249: int(2200)
250: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>