Annotation of embedaddon/php/ext/standard/tests/array/array_key_exists_variation8.phpt, revision 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>