Annotation of embedaddon/php/ext/standard/tests/array/array_intersect_key.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test of the array_intersect_key() and array_intersect_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:
10: $a_f = array_flip($a);
11: $b_f = array_flip($b);
12: $c_f = array_flip($c);
13: $d_f = array_flip($d);
14:
15: /* give nicer values */
16: foreach ($a_f as $k=> &$a_f_el) { $a_f_el =$k*2;}
17: foreach ($b_f as $k=> &$b_f_el) { $b_f_el =$k*2;}
18: foreach ($c_f as $k=> &$c_f_el) { $c_f_el =$k*2;}
19: foreach ($d_f as $k=> &$d_f_el) { $d_f_el =$k*2;}
20:
21: var_dump(array_intersect_key($a_f, $b_f));// keys -> 2, -20, -2500
22: var_dump(array_intersect_ukey($a_f, $b_f, "comp_func"));// 2, 20, -2500
23: var_dump(array_intersect_key($a_f, $c_f));// keys -> 6, 2, -20, -2500
24: var_dump(array_intersect_ukey($a_f, $c_f, "comp_func"));// 6, 2, -20, -2500
25: var_dump(array_intersect_key($a_f, $d_f));// -20
26: var_dump(array_intersect_ukey($a_f, $d_f, "comp_func"));// -20
27:
28: var_dump(array_intersect_key($a_f, $b_f, $c_f));// 2, -20, -2500
29: var_dump(array_intersect_ukey($a_f, $b_f, $c_f, "comp_func"));// 2, -20, -2500
30: var_dump(array_intersect_key($a_f, $b_f, $d_f));// -20
31: var_dump(array_intersect_ukey($a_f, $b_f, $d_f, "comp_func"));// -20
32:
33: var_dump(array_intersect_key($a_f, $b_f, $c_f, $d_f));// -20
34: var_dump(array_intersect_ukey($a_f, $b_f, $c_f, $d_f, "comp_func"));//-20
35:
36:
37: var_dump(array_intersect_key($b_f, $c_f));// 0, 2, -20, -2500
38: var_dump(array_intersect_ukey($b_f, $c_f, "comp_func"));//0, 2, -20, 2500
39:
40: var_dump(array_intersect_key($b_f, $d_f));// -20
41: var_dump(array_intersect_ukey($b_f, $d_f, "comp_func"));// -20
42:
43: var_dump(array_intersect_key($b_f, $c_f, $d_f));// -20
44: var_dump(array_intersect_ukey($b_f, $c_f, $d_f, "comp_func"));// -20
45:
46:
47: echo "----- Now testing array_intersect() ------- \n";
48: var_dump(array_intersect($a, $b_f));
49: var_dump(array_uintersect($a, $b, "comp_func"));
50: var_dump(array_intersect($a, $b, $c));
51: var_dump(array_uintersect($a, $b, $c, "comp_func"));
52: var_dump(array_intersect($a, $b, $c, $d));
53: var_dump(array_uintersect($a, $b, $c, $d, "comp_func"));
54:
55: ///////////////////////////////////////////////////////////////////////
56: function comp_func($a, $b) {
57: if ($a === $b) return 0;
58: return ($a > $b)? 1:-1;
59:
60: }
61: ?>
62: --EXPECTF--
63: array(3) {
64: [2]=>
65: int(4)
66: [-20]=>
67: int(-40)
68: [-2500]=>
69: &int(-5000)
70: }
71: array(3) {
72: [2]=>
73: int(4)
74: [-20]=>
75: int(-40)
76: [-2500]=>
77: &int(-5000)
78: }
79: array(4) {
80: [6]=>
81: int(12)
82: [2]=>
83: int(4)
84: [-20]=>
85: int(-40)
86: [-2500]=>
87: &int(-5000)
88: }
89: array(4) {
90: [6]=>
91: int(12)
92: [2]=>
93: int(4)
94: [-20]=>
95: int(-40)
96: [-2500]=>
97: &int(-5000)
98: }
99: array(1) {
100: [-20]=>
101: int(-40)
102: }
103: array(1) {
104: [-20]=>
105: int(-40)
106: }
107: array(3) {
108: [2]=>
109: int(4)
110: [-20]=>
111: int(-40)
112: [-2500]=>
113: &int(-5000)
114: }
115: array(3) {
116: [2]=>
117: int(4)
118: [-20]=>
119: int(-40)
120: [-2500]=>
121: &int(-5000)
122: }
123: array(1) {
124: [-20]=>
125: int(-40)
126: }
127: array(1) {
128: [-20]=>
129: int(-40)
130: }
131: array(1) {
132: [-20]=>
133: int(-40)
134: }
135: array(1) {
136: [-20]=>
137: int(-40)
138: }
139: array(4) {
140: [0]=>
141: int(0)
142: [2]=>
143: int(4)
144: [-20]=>
145: int(-40)
146: [-2500]=>
147: &int(-5000)
148: }
149: array(4) {
150: [0]=>
151: int(0)
152: [2]=>
153: int(4)
154: [-20]=>
155: int(-40)
156: [-2500]=>
157: &int(-5000)
158: }
159: array(1) {
160: [-20]=>
161: int(-40)
162: }
163: array(1) {
164: [-20]=>
165: int(-40)
166: }
167: array(1) {
168: [-20]=>
169: int(-40)
170: }
171: array(1) {
172: [-20]=>
173: int(-40)
174: }
175: ----- Now testing array_intersect() -------
176: array(0) {
177: }
178: array(3) {
179: [2]=>
180: int(2)
181: [3]=>
182: int(-20)
183: [6]=>
184: int(-2500)
185: }
186: array(3) {
187: [2]=>
188: int(2)
189: [3]=>
190: int(-20)
191: [6]=>
192: int(-2500)
193: }
194: array(3) {
195: [2]=>
196: int(2)
197: [3]=>
198: int(-20)
199: [6]=>
200: int(-2500)
201: }
202: array(1) {
203: [3]=>
204: int(-20)
205: }
206: array(1) {
207: [3]=>
208: int(-20)
209: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>