Annotation of embedaddon/php/ext/standard/tests/array/array_diff_ukey_variation2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_diff_ukey() function : usage variation - Passing unexpected values to second argument
3: --FILE--
4: <?php
5: /* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
6: * Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
7: * Source code: ext/standard/array.c
8: */
9:
10: echo "*** Testing array_diff_ukey() : usage variation ***\n";
11:
12: // Initialize function arguments not being substituted (if any)
13: $array1 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
14: $array3 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
15:
16:
17: //Initialize key_comp_func of type callback
18: function key_compare_func($key1, $key2)
19: {
20: if ($key1 == $key2) {
21: return 0;
22: }
23: return ($key1 > $key2)? 1:-1;
24: }
25:
26: //get an unset variable
27: $unset_var = 10;
28: unset ($unset_var);
29:
30: //resource variable
31: $fp = fopen(__FILE__, "r");
32:
33: // define some classes
34: class classWithToString
35: {
36: public function __toString() {
37: return "Class A object";
38: }
39: }
40:
41: class classWithoutToString
42: {
43: }
44:
45: // heredoc string
46: $heredoc = <<<EOT
47: hello world
48: EOT;
49:
50: //array of values to iterate over
51: $inputs = array(
52:
53: // int data
54: 'int 0' => 0,
55: 'int 1' => 1,
56: 'int 12345' => 12345,
57: 'int -12345' => -2345,
58:
59: // float data
60: 'float 10.5' => 10.5,
61: 'float -10.5' => -10.5,
62: 'float 12.3456789000e10' => 12.3456789000e10,
63: 'float -12.3456789000e10' => -12.3456789000e10,
64: 'float .5' => .5,
65:
66: // null data
67: 'uppercase NULL' => NULL,
68: 'lowercase null' => null,
69:
70: // boolean data
71: 'lowercase true' => true,
72: 'lowercase false' =>false,
73: 'uppercase TRUE' =>TRUE,
74: 'uppercase FALSE' =>FALSE,
75:
76: // empty data
77: 'empty string DQ' => "",
78: 'empty string SQ' => '',
79:
80: // string data
81: 'string DQ' => "string",
82: 'string SQ' => 'string',
83: 'mixed case string' => "sTrInG",
84: 'heredoc' => $heredoc,
85:
86: // object data
87: 'instance of classWithToString' => new classWithToString(),
88: 'instance of classWithoutToString' => new classWithoutToString(),
89:
90: // undefined data
91: 'undefined var' => @$undefined_var,
92:
93: // unset data
94: 'unset var' => @$unset_var,
95:
96: // resource data
97: 'resource' => $fp,
98:
99: );
100:
101: // loop through each element of the array for arr2
102:
103: foreach($inputs as $key =>$value) {
104: echo "\n--$key--\n";
105: var_dump( array_diff_ukey($array1, $value, 'key_compare_func') );
106: var_dump( array_diff_ukey($array1, $value, $array3, 'key_compare_func') );
107: };
108:
109: fclose($fp);
110: ?>
111: ===DONE===
112: --EXPECTF--
113: *** Testing array_diff_ukey() : usage variation ***
114:
115: --int 0--
116:
117: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
118: NULL
119:
120: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
121: NULL
122:
123: --int 1--
124:
125: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
126: NULL
127:
128: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
129: NULL
130:
131: --int 12345--
132:
133: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
134: NULL
135:
136: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
137: NULL
138:
139: --int -12345--
140:
141: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
142: NULL
143:
144: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
145: NULL
146:
147: --float 10.5--
148:
149: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
150: NULL
151:
152: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
153: NULL
154:
155: --float -10.5--
156:
157: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
158: NULL
159:
160: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
161: NULL
162:
163: --float 12.3456789000e10--
164:
165: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
166: NULL
167:
168: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
169: NULL
170:
171: --float -12.3456789000e10--
172:
173: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
174: NULL
175:
176: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
177: NULL
178:
179: --float .5--
180:
181: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
182: NULL
183:
184: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
185: NULL
186:
187: --uppercase NULL--
188:
189: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
190: NULL
191:
192: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
193: NULL
194:
195: --lowercase null--
196:
197: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
198: NULL
199:
200: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
201: NULL
202:
203: --lowercase true--
204:
205: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
206: NULL
207:
208: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
209: NULL
210:
211: --lowercase false--
212:
213: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
214: NULL
215:
216: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
217: NULL
218:
219: --uppercase TRUE--
220:
221: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
222: NULL
223:
224: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
225: NULL
226:
227: --uppercase FALSE--
228:
229: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
230: NULL
231:
232: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
233: NULL
234:
235: --empty string DQ--
236:
237: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
238: NULL
239:
240: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
241: NULL
242:
243: --empty string SQ--
244:
245: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
246: NULL
247:
248: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
249: NULL
250:
251: --string DQ--
252:
253: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
254: NULL
255:
256: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
257: NULL
258:
259: --string SQ--
260:
261: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
262: NULL
263:
264: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
265: NULL
266:
267: --mixed case string--
268:
269: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
270: NULL
271:
272: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
273: NULL
274:
275: --heredoc--
276:
277: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
278: NULL
279:
280: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
281: NULL
282:
283: --instance of classWithToString--
284:
285: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
286: NULL
287:
288: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
289: NULL
290:
291: --instance of classWithoutToString--
292:
293: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
294: NULL
295:
296: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
297: NULL
298:
299: --undefined var--
300:
301: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
302: NULL
303:
304: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
305: NULL
306:
307: --unset var--
308:
309: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
310: NULL
311:
312: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
313: NULL
314:
315: --resource--
316:
317: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
318: NULL
319:
320: Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
321: NULL
322: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>