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