Annotation of embedaddon/php/ext/standard/tests/array/array_key_exists_variation8.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_key_exists() function : usage variations - array keys are different data types
3: --FILE--
4: <?php
5: /* Prototype : bool array_key_exists(mixed $key, array $search)
6: * Description: Checks if the given key or index exists in the array
7: * Source code: ext/standard/array.c
8: * Alias to functions: key_exists
9: */
10:
11: /*
12: * Pass an array where the keys are different data types as the $search argument
13: * then pass many different data types as $key argument to test where array_key_exist()
14: * returns true.
15: */
16:
17: echo "*** Testing array_key_exists() : usage variations ***\n";
18:
19: //get an unset variable
20: $unset_var = 10;
21: unset ($unset_var);
22:
23: // heredoc string
24: $heredoc = <<<EOT
25: string
26: EOT;
27:
28: // different data types to be iterated over
29: $inputs = array(
30:
31: // int data
32: /*1*/ 'int' => array(
33: 0 => 'zero',
34: 1 => 'one',
35: 12345 => 'positive',
36: -2345 => 'negative',
37: ),
38:
39: // float data
40: /*2*/ 'float' => array(
41: 10.5 => 'positive',
42: -10.5 => 'negative',
43: .5 => 'half',
44: ),
45:
46: 'extreme floats' => array(
47: 12.3456789000e10 => 'large',
48: 12.3456789000E-10 => 'small',
49: ),
50:
51: // null data
52: /*3*/ 'null uppercase' => array(
53: NULL => 'null 1',
54: ),
55: 'null lowercase' => array(
56: null => 'null 2',
57: ),
58:
59: // boolean data
60: /*4*/ 'bool lowercase' => array(
61: true => 'lowert',
62: false => 'lowerf',
63: ),
64: 'bool uppercase' => array(
65: TRUE => 'uppert',
66: FALSE => 'upperf',
67: ),
68:
69: // empty data
70: /*5*/ 'empty double quotes' => array(
71: "" => 'emptyd',
72: ),
73: 'empty single quotes' => array(
74: '' => 'emptys',
75: ),
76:
77: // string data
78: /*6*/ 'string' => array(
79: "stringd" => 'stringd',
80: 'strings' => 'strings',
81: $heredoc => 'stringh',
82: ),
83:
84: // undefined data
85: /*8*/ 'undefined' => array(
86: @$undefined_var => 'undefined',
87: ),
88:
89: // unset data
90: /*9*/ 'unset' => array(
91: @$unset_var => 'unset',
92: ),
93: );
94:
95: // loop through each element of $inputs to check the behavior of array_key_exists()
96: $iterator = 1;
97: foreach($inputs as $type => $input) {
98: echo "\n-- Iteration $iterator: $type data --\n";
99:
100: //iterate over again to get all different key values
101: foreach ($inputs as $new_type => $new_input) {
102: echo "-- \$key arguments are $new_type data:\n";
103: foreach ($new_input as $key => $search) {
104: var_dump(array_key_exists($key, $input));
105: }
106: }
107: $iterator++;
108: };
109:
110: echo "Done";
111: ?>
112:
113: --EXPECTF--
114: *** Testing array_key_exists() : usage variations ***
115:
116: -- Iteration 1: int data --
117: -- $key arguments are int data:
118: bool(true)
119: bool(true)
120: bool(true)
121: bool(true)
122: -- $key arguments are float data:
123: bool(false)
124: bool(false)
125: bool(true)
126: -- $key arguments are extreme floats data:
127: bool(false)
128: bool(true)
129: -- $key arguments are null uppercase data:
130: bool(false)
131: -- $key arguments are null lowercase data:
132: bool(false)
133: -- $key arguments are bool lowercase data:
134: bool(true)
135: bool(true)
136: -- $key arguments are bool uppercase data:
137: bool(true)
138: bool(true)
139: -- $key arguments are empty double quotes data:
140: bool(false)
141: -- $key arguments are empty single quotes data:
142: bool(false)
143: -- $key arguments are string data:
144: bool(false)
145: bool(false)
146: bool(false)
147: -- $key arguments are undefined data:
148: bool(false)
149: -- $key arguments are unset data:
150: bool(false)
151:
152: -- Iteration 2: float data --
153: -- $key arguments are int data:
154: bool(true)
155: bool(false)
156: bool(false)
157: bool(false)
158: -- $key arguments are float data:
159: bool(true)
160: bool(true)
161: bool(true)
162: -- $key arguments are extreme floats data:
163: bool(false)
164: bool(true)
165: -- $key arguments are null uppercase data:
166: bool(false)
167: -- $key arguments are null lowercase data:
168: bool(false)
169: -- $key arguments are bool lowercase data:
170: bool(false)
171: bool(true)
172: -- $key arguments are bool uppercase data:
173: bool(false)
174: bool(true)
175: -- $key arguments are empty double quotes data:
176: bool(false)
177: -- $key arguments are empty single quotes data:
178: bool(false)
179: -- $key arguments are string data:
180: bool(false)
181: bool(false)
182: bool(false)
183: -- $key arguments are undefined data:
184: bool(false)
185: -- $key arguments are unset data:
186: bool(false)
187:
188: -- Iteration 3: extreme floats data --
189: -- $key arguments are int data:
190: bool(true)
191: bool(false)
192: bool(false)
193: bool(false)
194: -- $key arguments are float data:
195: bool(false)
196: bool(false)
197: bool(true)
198: -- $key arguments are extreme floats data:
199: bool(true)
200: bool(true)
201: -- $key arguments are null uppercase data:
202: bool(false)
203: -- $key arguments are null lowercase data:
204: bool(false)
205: -- $key arguments are bool lowercase data:
206: bool(false)
207: bool(true)
208: -- $key arguments are bool uppercase data:
209: bool(false)
210: bool(true)
211: -- $key arguments are empty double quotes data:
212: bool(false)
213: -- $key arguments are empty single quotes data:
214: bool(false)
215: -- $key arguments are string data:
216: bool(false)
217: bool(false)
218: bool(false)
219: -- $key arguments are undefined data:
220: bool(false)
221: -- $key arguments are unset data:
222: bool(false)
223:
224: -- Iteration 4: null uppercase data --
225: -- $key arguments are int data:
226: bool(false)
227: bool(false)
228: bool(false)
229: bool(false)
230: -- $key arguments are float data:
231: bool(false)
232: bool(false)
233: bool(false)
234: -- $key arguments are extreme floats data:
235: bool(false)
236: bool(false)
237: -- $key arguments are null uppercase data:
238: bool(true)
239: -- $key arguments are null lowercase data:
240: bool(true)
241: -- $key arguments are bool lowercase data:
242: bool(false)
243: bool(false)
244: -- $key arguments are bool uppercase data:
245: bool(false)
246: bool(false)
247: -- $key arguments are empty double quotes data:
248: bool(true)
249: -- $key arguments are empty single quotes data:
250: bool(true)
251: -- $key arguments are string data:
252: bool(false)
253: bool(false)
254: bool(false)
255: -- $key arguments are undefined data:
256: bool(true)
257: -- $key arguments are unset data:
258: bool(true)
259:
260: -- Iteration 5: null lowercase data --
261: -- $key arguments are int data:
262: bool(false)
263: bool(false)
264: bool(false)
265: bool(false)
266: -- $key arguments are float data:
267: bool(false)
268: bool(false)
269: bool(false)
270: -- $key arguments are extreme floats data:
271: bool(false)
272: bool(false)
273: -- $key arguments are null uppercase data:
274: bool(true)
275: -- $key arguments are null lowercase data:
276: bool(true)
277: -- $key arguments are bool lowercase data:
278: bool(false)
279: bool(false)
280: -- $key arguments are bool uppercase data:
281: bool(false)
282: bool(false)
283: -- $key arguments are empty double quotes data:
284: bool(true)
285: -- $key arguments are empty single quotes data:
286: bool(true)
287: -- $key arguments are string data:
288: bool(false)
289: bool(false)
290: bool(false)
291: -- $key arguments are undefined data:
292: bool(true)
293: -- $key arguments are unset data:
294: bool(true)
295:
296: -- Iteration 6: bool lowercase data --
297: -- $key arguments are int data:
298: bool(true)
299: bool(true)
300: bool(false)
301: bool(false)
302: -- $key arguments are float data:
303: bool(false)
304: bool(false)
305: bool(true)
306: -- $key arguments are extreme floats data:
307: bool(false)
308: bool(true)
309: -- $key arguments are null uppercase data:
310: bool(false)
311: -- $key arguments are null lowercase data:
312: bool(false)
313: -- $key arguments are bool lowercase data:
314: bool(true)
315: bool(true)
316: -- $key arguments are bool uppercase data:
317: bool(true)
318: bool(true)
319: -- $key arguments are empty double quotes data:
320: bool(false)
321: -- $key arguments are empty single quotes data:
322: bool(false)
323: -- $key arguments are string data:
324: bool(false)
325: bool(false)
326: bool(false)
327: -- $key arguments are undefined data:
328: bool(false)
329: -- $key arguments are unset data:
330: bool(false)
331:
332: -- Iteration 7: bool uppercase data --
333: -- $key arguments are int data:
334: bool(true)
335: bool(true)
336: bool(false)
337: bool(false)
338: -- $key arguments are float data:
339: bool(false)
340: bool(false)
341: bool(true)
342: -- $key arguments are extreme floats data:
343: bool(false)
344: bool(true)
345: -- $key arguments are null uppercase data:
346: bool(false)
347: -- $key arguments are null lowercase data:
348: bool(false)
349: -- $key arguments are bool lowercase data:
350: bool(true)
351: bool(true)
352: -- $key arguments are bool uppercase data:
353: bool(true)
354: bool(true)
355: -- $key arguments are empty double quotes data:
356: bool(false)
357: -- $key arguments are empty single quotes data:
358: bool(false)
359: -- $key arguments are string data:
360: bool(false)
361: bool(false)
362: bool(false)
363: -- $key arguments are undefined data:
364: bool(false)
365: -- $key arguments are unset data:
366: bool(false)
367:
368: -- Iteration 8: empty double quotes data --
369: -- $key arguments are int data:
370: bool(false)
371: bool(false)
372: bool(false)
373: bool(false)
374: -- $key arguments are float data:
375: bool(false)
376: bool(false)
377: bool(false)
378: -- $key arguments are extreme floats data:
379: bool(false)
380: bool(false)
381: -- $key arguments are null uppercase data:
382: bool(true)
383: -- $key arguments are null lowercase data:
384: bool(true)
385: -- $key arguments are bool lowercase data:
386: bool(false)
387: bool(false)
388: -- $key arguments are bool uppercase data:
389: bool(false)
390: bool(false)
391: -- $key arguments are empty double quotes data:
392: bool(true)
393: -- $key arguments are empty single quotes data:
394: bool(true)
395: -- $key arguments are string data:
396: bool(false)
397: bool(false)
398: bool(false)
399: -- $key arguments are undefined data:
400: bool(true)
401: -- $key arguments are unset data:
402: bool(true)
403:
404: -- Iteration 9: empty single quotes data --
405: -- $key arguments are int data:
406: bool(false)
407: bool(false)
408: bool(false)
409: bool(false)
410: -- $key arguments are float data:
411: bool(false)
412: bool(false)
413: bool(false)
414: -- $key arguments are extreme floats data:
415: bool(false)
416: bool(false)
417: -- $key arguments are null uppercase data:
418: bool(true)
419: -- $key arguments are null lowercase data:
420: bool(true)
421: -- $key arguments are bool lowercase data:
422: bool(false)
423: bool(false)
424: -- $key arguments are bool uppercase data:
425: bool(false)
426: bool(false)
427: -- $key arguments are empty double quotes data:
428: bool(true)
429: -- $key arguments are empty single quotes data:
430: bool(true)
431: -- $key arguments are string data:
432: bool(false)
433: bool(false)
434: bool(false)
435: -- $key arguments are undefined data:
436: bool(true)
437: -- $key arguments are unset data:
438: bool(true)
439:
440: -- Iteration 10: string data --
441: -- $key arguments are int data:
442: bool(false)
443: bool(false)
444: bool(false)
445: bool(false)
446: -- $key arguments are float data:
447: bool(false)
448: bool(false)
449: bool(false)
450: -- $key arguments are extreme floats data:
451: bool(false)
452: bool(false)
453: -- $key arguments are null uppercase data:
454: bool(false)
455: -- $key arguments are null lowercase data:
456: bool(false)
457: -- $key arguments are bool lowercase data:
458: bool(false)
459: bool(false)
460: -- $key arguments are bool uppercase data:
461: bool(false)
462: bool(false)
463: -- $key arguments are empty double quotes data:
464: bool(false)
465: -- $key arguments are empty single quotes data:
466: bool(false)
467: -- $key arguments are string data:
468: bool(true)
469: bool(true)
470: bool(true)
471: -- $key arguments are undefined data:
472: bool(false)
473: -- $key arguments are unset data:
474: bool(false)
475:
476: -- Iteration 11: undefined data --
477: -- $key arguments are int data:
478: bool(false)
479: bool(false)
480: bool(false)
481: bool(false)
482: -- $key arguments are float data:
483: bool(false)
484: bool(false)
485: bool(false)
486: -- $key arguments are extreme floats data:
487: bool(false)
488: bool(false)
489: -- $key arguments are null uppercase data:
490: bool(true)
491: -- $key arguments are null lowercase data:
492: bool(true)
493: -- $key arguments are bool lowercase data:
494: bool(false)
495: bool(false)
496: -- $key arguments are bool uppercase data:
497: bool(false)
498: bool(false)
499: -- $key arguments are empty double quotes data:
500: bool(true)
501: -- $key arguments are empty single quotes data:
502: bool(true)
503: -- $key arguments are string data:
504: bool(false)
505: bool(false)
506: bool(false)
507: -- $key arguments are undefined data:
508: bool(true)
509: -- $key arguments are unset data:
510: bool(true)
511:
512: -- Iteration 12: unset data --
513: -- $key arguments are int data:
514: bool(false)
515: bool(false)
516: bool(false)
517: bool(false)
518: -- $key arguments are float data:
519: bool(false)
520: bool(false)
521: bool(false)
522: -- $key arguments are extreme floats data:
523: bool(false)
524: bool(false)
525: -- $key arguments are null uppercase data:
526: bool(true)
527: -- $key arguments are null lowercase data:
528: bool(true)
529: -- $key arguments are bool lowercase data:
530: bool(false)
531: bool(false)
532: -- $key arguments are bool uppercase data:
533: bool(false)
534: bool(false)
535: -- $key arguments are empty double quotes data:
536: bool(true)
537: -- $key arguments are empty single quotes data:
538: bool(true)
539: -- $key arguments are string data:
540: bool(false)
541: bool(false)
542: bool(false)
543: -- $key arguments are undefined data:
544: bool(true)
545: -- $key arguments are unset data:
546: bool(true)
547: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>