Return to gettype_settype_variation1.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / general_functions |
1.1 misho 1: --TEST-- 2: Test gettype() & settype() functions : usage variatoins 3: --SKIPIF-- 4: <?php 5: if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); 6: ?> 7: --INI-- 8: precision=14 9: --FILE-- 10: <?php 11: /* Prototype: string gettype ( mixed $var ); 12: Description: Returns the type of the PHP variable var 13: 14: Prototype: bool settype ( mixed &$var, string $type ); 15: Description: Set the type of variable var to type 16: */ 17: 18: /* Test usage variation of gettype() and settype() functions: 19: settype() to null type. 20: Set type of the data to "null" and verify using gettype 21: Following are performed in the listed sequence: 22: get the current type of the variable 23: set the type of the variable to "null type" 24: dump the variable to see its new data 25: get the new type of the variable 26: */ 27: 28: /* function to handle catchable errors */ 29: function foo($errno, $errstr, $errfile, $errline) { 30: // var_dump($errstr); 31: // print error no and error string 32: echo "$errno: $errstr\n"; 33: } 34: //set the error handler, this is required as 35: // settype() would fail with catachable fatal error 36: set_error_handler("foo"); 37: 38: $var1 = "another string"; 39: $var2 = array(2,3,4); 40: 41: // a variable which is unset 42: $unset_var = 10.5; 43: unset( $unset_var ); 44: 45: class point 46: { 47: var $x; 48: var $y; 49: 50: function point($x, $y) { 51: $this->x = $x; 52: $this->y = $y; 53: } 54: 55: function __toString() { 56: return "ObjectPoint"; 57: } 58: } 59: 60: $var_values = array ( 61: /* nulls */ 62: null, 63: 64: /* boolean */ 65: FALSE, 66: TRUE, 67: true, 68: 69: /* strings */ 70: "\xFF", 71: "\x66", 72: "\0123", 73: "", 74: '', 75: " ", 76: ' ', 77: /* numerics in the form of string */ 78: '10', 79: "10", 80: "10string", 81: '10string', 82: "1", 83: "-1", 84: "1e2", 85: " 1", 86: "2974394749328742328432", 87: "-1e-2", 88: '1', 89: '-1', 90: '1e2', 91: ' 1', 92: '2974394749328742328432', 93: '-1e-2', 94: "0xff", 95: '0x55', 96: '0XA55', 97: '0X123', 98: "0123", 99: '0123', 100: "-0123", 101: "+0123", 102: '-0123', 103: '+0123', 104: "-0x80001", // invalid numerics as its prefix with sign or have decimal points 105: "+0x80001", 106: "-0x80001.5", 107: "0x80001.5", 108: "@$%#$%^$%^&^", 109: 110: /* arrays */ 111: array(), 112: array(NULL), 113: array(1,2,3,4), 114: array(1 => "one", 2 => "two", "3" => "three", "four" => 4), 115: array(1.5, 2.4, 6.5e6), 116: 117: /* integers */ 118: -2147483648, // max -ne int value 119: 2147483647, 120: 2147483649, 121: 1232147483649, 122: 0x55, 123: 0xF674593039, // a hex value > than max int 124: -0X558F, 125: 0555, 126: -0555, 127: 02224242434343152, // an octal value > than max int 128: 129: /* floats */ 130: 1e5, 131: -1e5, 132: 1E5, 133: -1E5, 134: -1.5, 135: .5, 136: -.5, 137: .5e6, 138: -.5e6, 139: -.5e-6, 140: .5e+6, 141: -.5e+6, 142: .512E6, 143: -.512E6, 144: .512E-6, 145: +.512E-6, 146: .512E+6, 147: -.512E+6, 148: 149: new point(NULL, NULL), 150: new point(2.5, 40.5), 151: new point(0, 0), 152: 153: /* undefined/unset vars */ 154: $unset_var, 155: $undef_var 156: ); 157: 158: /* test conversion to null type */ 159: $type = "null"; 160: 161: echo "\n*** Testing gettype() & settype() functions : usage variations ***\n"; 162: echo "\n-- Setting type of data to $type --\n"; 163: $loop_count = 1; 164: foreach ($var_values as $var) { 165: echo "-- Iteration $loop_count --\n"; $loop_count++; 166: 167: // get the current data type 168: var_dump( gettype($var) ); 169: 170: // convert it to null 171: var_dump( settype($var, $type) ); 172: 173: // dump the converted data 174: var_dump( $var ); 175: 176: // check the new type after conversion 177: var_dump( gettype($var) ); 178: } 179: 180: echo "Done\n"; 181: ?> 182: --EXPECTF-- 183: 8: Undefined variable: unset_var 184: 8: Undefined variable: undef_var 185: 186: *** Testing gettype() & settype() functions : usage variations *** 187: 188: -- Setting type of data to null -- 189: -- Iteration 1 -- 190: string(4) "NULL" 191: bool(true) 192: NULL 193: string(4) "NULL" 194: -- Iteration 2 -- 195: string(7) "boolean" 196: bool(true) 197: NULL 198: string(4) "NULL" 199: -- Iteration 3 -- 200: string(7) "boolean" 201: bool(true) 202: NULL 203: string(4) "NULL" 204: -- Iteration 4 -- 205: string(7) "boolean" 206: bool(true) 207: NULL 208: string(4) "NULL" 209: -- Iteration 5 -- 210: string(6) "string" 211: bool(true) 212: NULL 213: string(4) "NULL" 214: -- Iteration 6 -- 215: string(6) "string" 216: bool(true) 217: NULL 218: string(4) "NULL" 219: -- Iteration 7 -- 220: string(6) "string" 221: bool(true) 222: NULL 223: string(4) "NULL" 224: -- Iteration 8 -- 225: string(6) "string" 226: bool(true) 227: NULL 228: string(4) "NULL" 229: -- Iteration 9 -- 230: string(6) "string" 231: bool(true) 232: NULL 233: string(4) "NULL" 234: -- Iteration 10 -- 235: string(6) "string" 236: bool(true) 237: NULL 238: string(4) "NULL" 239: -- Iteration 11 -- 240: string(6) "string" 241: bool(true) 242: NULL 243: string(4) "NULL" 244: -- Iteration 12 -- 245: string(6) "string" 246: bool(true) 247: NULL 248: string(4) "NULL" 249: -- Iteration 13 -- 250: string(6) "string" 251: bool(true) 252: NULL 253: string(4) "NULL" 254: -- Iteration 14 -- 255: string(6) "string" 256: bool(true) 257: NULL 258: string(4) "NULL" 259: -- Iteration 15 -- 260: string(6) "string" 261: bool(true) 262: NULL 263: string(4) "NULL" 264: -- Iteration 16 -- 265: string(6) "string" 266: bool(true) 267: NULL 268: string(4) "NULL" 269: -- Iteration 17 -- 270: string(6) "string" 271: bool(true) 272: NULL 273: string(4) "NULL" 274: -- Iteration 18 -- 275: string(6) "string" 276: bool(true) 277: NULL 278: string(4) "NULL" 279: -- Iteration 19 -- 280: string(6) "string" 281: bool(true) 282: NULL 283: string(4) "NULL" 284: -- Iteration 20 -- 285: string(6) "string" 286: bool(true) 287: NULL 288: string(4) "NULL" 289: -- Iteration 21 -- 290: string(6) "string" 291: bool(true) 292: NULL 293: string(4) "NULL" 294: -- Iteration 22 -- 295: string(6) "string" 296: bool(true) 297: NULL 298: string(4) "NULL" 299: -- Iteration 23 -- 300: string(6) "string" 301: bool(true) 302: NULL 303: string(4) "NULL" 304: -- Iteration 24 -- 305: string(6) "string" 306: bool(true) 307: NULL 308: string(4) "NULL" 309: -- Iteration 25 -- 310: string(6) "string" 311: bool(true) 312: NULL 313: string(4) "NULL" 314: -- Iteration 26 -- 315: string(6) "string" 316: bool(true) 317: NULL 318: string(4) "NULL" 319: -- Iteration 27 -- 320: string(6) "string" 321: bool(true) 322: NULL 323: string(4) "NULL" 324: -- Iteration 28 -- 325: string(6) "string" 326: bool(true) 327: NULL 328: string(4) "NULL" 329: -- Iteration 29 -- 330: string(6) "string" 331: bool(true) 332: NULL 333: string(4) "NULL" 334: -- Iteration 30 -- 335: string(6) "string" 336: bool(true) 337: NULL 338: string(4) "NULL" 339: -- Iteration 31 -- 340: string(6) "string" 341: bool(true) 342: NULL 343: string(4) "NULL" 344: -- Iteration 32 -- 345: string(6) "string" 346: bool(true) 347: NULL 348: string(4) "NULL" 349: -- Iteration 33 -- 350: string(6) "string" 351: bool(true) 352: NULL 353: string(4) "NULL" 354: -- Iteration 34 -- 355: string(6) "string" 356: bool(true) 357: NULL 358: string(4) "NULL" 359: -- Iteration 35 -- 360: string(6) "string" 361: bool(true) 362: NULL 363: string(4) "NULL" 364: -- Iteration 36 -- 365: string(6) "string" 366: bool(true) 367: NULL 368: string(4) "NULL" 369: -- Iteration 37 -- 370: string(6) "string" 371: bool(true) 372: NULL 373: string(4) "NULL" 374: -- Iteration 38 -- 375: string(6) "string" 376: bool(true) 377: NULL 378: string(4) "NULL" 379: -- Iteration 39 -- 380: string(6) "string" 381: bool(true) 382: NULL 383: string(4) "NULL" 384: -- Iteration 40 -- 385: string(6) "string" 386: bool(true) 387: NULL 388: string(4) "NULL" 389: -- Iteration 41 -- 390: string(6) "string" 391: bool(true) 392: NULL 393: string(4) "NULL" 394: -- Iteration 42 -- 395: string(6) "string" 396: bool(true) 397: NULL 398: string(4) "NULL" 399: -- Iteration 43 -- 400: string(5) "array" 401: bool(true) 402: NULL 403: string(4) "NULL" 404: -- Iteration 44 -- 405: string(5) "array" 406: bool(true) 407: NULL 408: string(4) "NULL" 409: -- Iteration 45 -- 410: string(5) "array" 411: bool(true) 412: NULL 413: string(4) "NULL" 414: -- Iteration 46 -- 415: string(5) "array" 416: bool(true) 417: NULL 418: string(4) "NULL" 419: -- Iteration 47 -- 420: string(5) "array" 421: bool(true) 422: NULL 423: string(4) "NULL" 424: -- Iteration 48 -- 425: string(6) "double" 426: bool(true) 427: NULL 428: string(4) "NULL" 429: -- Iteration 49 -- 430: string(7) "integer" 431: bool(true) 432: NULL 433: string(4) "NULL" 434: -- Iteration 50 -- 435: string(6) "double" 436: bool(true) 437: NULL 438: string(4) "NULL" 439: -- Iteration 51 -- 440: string(6) "double" 441: bool(true) 442: NULL 443: string(4) "NULL" 444: -- Iteration 52 -- 445: string(7) "integer" 446: bool(true) 447: NULL 448: string(4) "NULL" 449: -- Iteration 53 -- 450: string(6) "double" 451: bool(true) 452: NULL 453: string(4) "NULL" 454: -- Iteration 54 -- 455: string(7) "integer" 456: bool(true) 457: NULL 458: string(4) "NULL" 459: -- Iteration 55 -- 460: string(7) "integer" 461: bool(true) 462: NULL 463: string(4) "NULL" 464: -- Iteration 56 -- 465: string(7) "integer" 466: bool(true) 467: NULL 468: string(4) "NULL" 469: -- Iteration 57 -- 470: string(6) "double" 471: bool(true) 472: NULL 473: string(4) "NULL" 474: -- Iteration 58 -- 475: string(6) "double" 476: bool(true) 477: NULL 478: string(4) "NULL" 479: -- Iteration 59 -- 480: string(6) "double" 481: bool(true) 482: NULL 483: string(4) "NULL" 484: -- Iteration 60 -- 485: string(6) "double" 486: bool(true) 487: NULL 488: string(4) "NULL" 489: -- Iteration 61 -- 490: string(6) "double" 491: bool(true) 492: NULL 493: string(4) "NULL" 494: -- Iteration 62 -- 495: string(6) "double" 496: bool(true) 497: NULL 498: string(4) "NULL" 499: -- Iteration 63 -- 500: string(6) "double" 501: bool(true) 502: NULL 503: string(4) "NULL" 504: -- Iteration 64 -- 505: string(6) "double" 506: bool(true) 507: NULL 508: string(4) "NULL" 509: -- Iteration 65 -- 510: string(6) "double" 511: bool(true) 512: NULL 513: string(4) "NULL" 514: -- Iteration 66 -- 515: string(6) "double" 516: bool(true) 517: NULL 518: string(4) "NULL" 519: -- Iteration 67 -- 520: string(6) "double" 521: bool(true) 522: NULL 523: string(4) "NULL" 524: -- Iteration 68 -- 525: string(6) "double" 526: bool(true) 527: NULL 528: string(4) "NULL" 529: -- Iteration 69 -- 530: string(6) "double" 531: bool(true) 532: NULL 533: string(4) "NULL" 534: -- Iteration 70 -- 535: string(6) "double" 536: bool(true) 537: NULL 538: string(4) "NULL" 539: -- Iteration 71 -- 540: string(6) "double" 541: bool(true) 542: NULL 543: string(4) "NULL" 544: -- Iteration 72 -- 545: string(6) "double" 546: bool(true) 547: NULL 548: string(4) "NULL" 549: -- Iteration 73 -- 550: string(6) "double" 551: bool(true) 552: NULL 553: string(4) "NULL" 554: -- Iteration 74 -- 555: string(6) "double" 556: bool(true) 557: NULL 558: string(4) "NULL" 559: -- Iteration 75 -- 560: string(6) "double" 561: bool(true) 562: NULL 563: string(4) "NULL" 564: -- Iteration 76 -- 565: string(6) "object" 566: bool(true) 567: NULL 568: string(4) "NULL" 569: -- Iteration 77 -- 570: string(6) "object" 571: bool(true) 572: NULL 573: string(4) "NULL" 574: -- Iteration 78 -- 575: string(6) "object" 576: bool(true) 577: NULL 578: string(4) "NULL" 579: -- Iteration 79 -- 580: string(4) "NULL" 581: bool(true) 582: NULL 583: string(4) "NULL" 584: -- Iteration 80 -- 585: string(4) "NULL" 586: bool(true) 587: NULL 588: string(4) "NULL" 589: Done