Return to is_float.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / general_functions |
1.1 misho 1: --TEST-- 2: Test is_float() & it's FALIASes: is_double() & is_real() functions 3: --SKIPIF-- 4: <?php 5: if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); 6: ?> 7: --FILE-- 8: <?php 9: /* Prototype: bool is_float ( mixed $var ); 10: * Description: Finds whether the given variable is a float 11: */ 12: 13: echo "*** Testing is_float(), is_double() and is_real() with float values***\n"; 14: // different valid float vlaues 15: $floats = array( 16: -2147483649, // float value 17: 2147483648, // float value 18: -0x80000001, // float value, beyond max negative int 19: 0x800000001, // float value, beyond max positive int 20: 020000000001, // float value, beyond max positive int 21: -020000000001, // float value, beyond max negative int 22: 0.0, 23: -0.1, 24: 10.0000000000000000005, 25: 10.5e+5, 26: 1e5, 27: -1e5, 28: 1e-5, 29: -1e-5, 30: 1e+5, 31: -1e+5, 32: 1E5, 33: -1E5, 34: 1E+5, 35: -1E+5, 36: 1E-5, 37: -1E-5, 38: .5e+7, 39: -.5e+7, 40: .6e-19, 41: -.6e-19, 42: .05E+44, 43: -.05E+44, 44: .0034E-30, 45: -.0034E-30 46: ); 47: /* loop to check that is_float(), is_double() & is_real() recognizes 48: different float values, expected: bool(true) */ 49: $loop_counter = 1; 50: foreach ($floats as $float ) { 51: echo "-- Iteration $loop_counter --\n"; $loop_counter++; 52: var_dump( is_float($float) ); 53: var_dump( is_double($float) ); 54: var_dump( is_real($float) ); 55: } 56: 57: echo "\n*** Testing is_float(), is_double() & is_real() with non float values ***\n"; 58: // get a resource type variable 59: $fp = fopen (__FILE__, "r"); 60: $dfp = opendir ( dirname(__FILE__) ); 61: 62: // unset variable 63: $unset_var = 10; 64: unset ($unset_var); 65: 66: // non_scalar values, objects, arrays, resources and boolean 67: class foo 68: { 69: var $array = array(10.5); 70: }; 71: $object = new foo(); 72: 73: $not_floats = array ( 74: new foo, //object 75: $object, 76: 77: $fp, // resource 78: $dfp, 79: 80: array(), // arrays 81: array(NULL), 82: array(0.5e10), 83: array(1,2,3,4), 84: array("string"), 85: 86: NULL, // nulls 87: null, 88: 89: true, // boolean 90: TRUE, 91: false, 92: FALSE, 93: 94: "", // strings 95: '', 96: "0", 97: '0', 98: "0.0", 99: '0.0', 100: '0.5', 101: "-0.5", 102: "1e5", 103: '1e5', 104: '1.5e6_string', 105: "1.5e6_string", 106: 107: 1, // integers, hex and octal 108: -1, 109: 0, 110: 12345, 111: 0xFF55, 112: -0x673, 113: 0123, 114: -0123, 115: 116: @$unset_var, // unset variable 117: @$undefined_var 118: ); 119: /* loop through the $not_floats to see working of 120: is_float(), is_double() & is_real() on objects, 121: arrays, boolean and others */ 122: $loop_counter = 1; 123: foreach ($not_floats as $value ) { 124: echo "--Iteration $loop_counter--\n"; $loop_counter++; 125: var_dump( is_float($value) ); 126: var_dump( is_double($value) ); 127: var_dump( is_real($value) ); 128: } 129: 130: echo "\n*** Testing error conditions ***\n"; 131: //Zero argument 132: var_dump( is_float() ); 133: var_dump( is_double() ); 134: var_dump( is_real() ); 135: 136: //arguments more than expected 137: var_dump( is_float( $floats[0], $floats[1]) ); 138: var_dump( is_double( $floats[0], $floats[1]) ); 139: var_dump( is_real( $floats[0], $floats[1]) ); 140: 141: echo "Done\n"; 142: 143: // close the resources used 144: fclose($fp); 145: closedir($dfp); 146: 147: ?> 148: --EXPECTF-- 149: *** Testing is_float(), is_double() and is_real() with float values*** 150: -- Iteration 1 -- 151: bool(true) 152: bool(true) 153: bool(true) 154: -- Iteration 2 -- 155: bool(true) 156: bool(true) 157: bool(true) 158: -- Iteration 3 -- 159: bool(true) 160: bool(true) 161: bool(true) 162: -- Iteration 4 -- 163: bool(true) 164: bool(true) 165: bool(true) 166: -- Iteration 5 -- 167: bool(true) 168: bool(true) 169: bool(true) 170: -- Iteration 6 -- 171: bool(true) 172: bool(true) 173: bool(true) 174: -- Iteration 7 -- 175: bool(true) 176: bool(true) 177: bool(true) 178: -- Iteration 8 -- 179: bool(true) 180: bool(true) 181: bool(true) 182: -- Iteration 9 -- 183: bool(true) 184: bool(true) 185: bool(true) 186: -- Iteration 10 -- 187: bool(true) 188: bool(true) 189: bool(true) 190: -- Iteration 11 -- 191: bool(true) 192: bool(true) 193: bool(true) 194: -- Iteration 12 -- 195: bool(true) 196: bool(true) 197: bool(true) 198: -- Iteration 13 -- 199: bool(true) 200: bool(true) 201: bool(true) 202: -- Iteration 14 -- 203: bool(true) 204: bool(true) 205: bool(true) 206: -- Iteration 15 -- 207: bool(true) 208: bool(true) 209: bool(true) 210: -- Iteration 16 -- 211: bool(true) 212: bool(true) 213: bool(true) 214: -- Iteration 17 -- 215: bool(true) 216: bool(true) 217: bool(true) 218: -- Iteration 18 -- 219: bool(true) 220: bool(true) 221: bool(true) 222: -- Iteration 19 -- 223: bool(true) 224: bool(true) 225: bool(true) 226: -- Iteration 20 -- 227: bool(true) 228: bool(true) 229: bool(true) 230: -- Iteration 21 -- 231: bool(true) 232: bool(true) 233: bool(true) 234: -- Iteration 22 -- 235: bool(true) 236: bool(true) 237: bool(true) 238: -- Iteration 23 -- 239: bool(true) 240: bool(true) 241: bool(true) 242: -- Iteration 24 -- 243: bool(true) 244: bool(true) 245: bool(true) 246: -- Iteration 25 -- 247: bool(true) 248: bool(true) 249: bool(true) 250: -- Iteration 26 -- 251: bool(true) 252: bool(true) 253: bool(true) 254: -- Iteration 27 -- 255: bool(true) 256: bool(true) 257: bool(true) 258: -- Iteration 28 -- 259: bool(true) 260: bool(true) 261: bool(true) 262: -- Iteration 29 -- 263: bool(true) 264: bool(true) 265: bool(true) 266: -- Iteration 30 -- 267: bool(true) 268: bool(true) 269: bool(true) 270: 271: *** Testing is_float(), is_double() & is_real() with non float values *** 272: --Iteration 1-- 273: bool(false) 274: bool(false) 275: bool(false) 276: --Iteration 2-- 277: bool(false) 278: bool(false) 279: bool(false) 280: --Iteration 3-- 281: bool(false) 282: bool(false) 283: bool(false) 284: --Iteration 4-- 285: bool(false) 286: bool(false) 287: bool(false) 288: --Iteration 5-- 289: bool(false) 290: bool(false) 291: bool(false) 292: --Iteration 6-- 293: bool(false) 294: bool(false) 295: bool(false) 296: --Iteration 7-- 297: bool(false) 298: bool(false) 299: bool(false) 300: --Iteration 8-- 301: bool(false) 302: bool(false) 303: bool(false) 304: --Iteration 9-- 305: bool(false) 306: bool(false) 307: bool(false) 308: --Iteration 10-- 309: bool(false) 310: bool(false) 311: bool(false) 312: --Iteration 11-- 313: bool(false) 314: bool(false) 315: bool(false) 316: --Iteration 12-- 317: bool(false) 318: bool(false) 319: bool(false) 320: --Iteration 13-- 321: bool(false) 322: bool(false) 323: bool(false) 324: --Iteration 14-- 325: bool(false) 326: bool(false) 327: bool(false) 328: --Iteration 15-- 329: bool(false) 330: bool(false) 331: bool(false) 332: --Iteration 16-- 333: bool(false) 334: bool(false) 335: bool(false) 336: --Iteration 17-- 337: bool(false) 338: bool(false) 339: bool(false) 340: --Iteration 18-- 341: bool(false) 342: bool(false) 343: bool(false) 344: --Iteration 19-- 345: bool(false) 346: bool(false) 347: bool(false) 348: --Iteration 20-- 349: bool(false) 350: bool(false) 351: bool(false) 352: --Iteration 21-- 353: bool(false) 354: bool(false) 355: bool(false) 356: --Iteration 22-- 357: bool(false) 358: bool(false) 359: bool(false) 360: --Iteration 23-- 361: bool(false) 362: bool(false) 363: bool(false) 364: --Iteration 24-- 365: bool(false) 366: bool(false) 367: bool(false) 368: --Iteration 25-- 369: bool(false) 370: bool(false) 371: bool(false) 372: --Iteration 26-- 373: bool(false) 374: bool(false) 375: bool(false) 376: --Iteration 27-- 377: bool(false) 378: bool(false) 379: bool(false) 380: --Iteration 28-- 381: bool(false) 382: bool(false) 383: bool(false) 384: --Iteration 29-- 385: bool(false) 386: bool(false) 387: bool(false) 388: --Iteration 30-- 389: bool(false) 390: bool(false) 391: bool(false) 392: --Iteration 31-- 393: bool(false) 394: bool(false) 395: bool(false) 396: --Iteration 32-- 397: bool(false) 398: bool(false) 399: bool(false) 400: --Iteration 33-- 401: bool(false) 402: bool(false) 403: bool(false) 404: --Iteration 34-- 405: bool(false) 406: bool(false) 407: bool(false) 408: --Iteration 35-- 409: bool(false) 410: bool(false) 411: bool(false) 412: --Iteration 36-- 413: bool(false) 414: bool(false) 415: bool(false) 416: --Iteration 37-- 417: bool(false) 418: bool(false) 419: bool(false) 420: 421: *** Testing error conditions *** 422: 423: Warning: is_float() expects exactly 1 parameter, 0 given in %s on line %d 424: bool(false) 425: 426: Warning: is_double() expects exactly 1 parameter, 0 given in %s on line %d 427: bool(false) 428: 429: Warning: is_real() expects exactly 1 parameter, 0 given in %s on line %d 430: bool(false) 431: 432: Warning: is_float() expects exactly 1 parameter, 2 given in %s on line %d 433: bool(false) 434: 435: Warning: is_double() expects exactly 1 parameter, 2 given in %s on line %d 436: bool(false) 437: 438: Warning: is_real() expects exactly 1 parameter, 2 given in %s on line %d 439: bool(false) 440: Done