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