Return to is_scalar.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / general_functions |
1.1 misho 1: --TEST-- 2: Test is_scalar() function 3: --FILE-- 4: <?php 5: /* Prototype: bool is_scalar ( mixed $var ); 6: * Description: Finds whether a variable is a scalar (i.e integer, float, string or boolean) 7: */ 8: 9: echo "*** Testing basic operations ***\n"; 10: $scalar_variables = array( 11: 0, // integers 12: 1, 13: -45678, 14: 0x5FF, // hexadecimal as integer 15: 0X566, 16: -0xAAF, 17: -0XCCF, 18: 01234, // octal as integer 19: -0126, 20: 21: 0.0, // floats 22: -1.0, 23: 1e5, 24: -1e7, 25: 1.6E7, 26: 475.e-8, 27: 784.e+30, 28: 98.45E+40, 29: .5E-40, 30: 31: "", // strings 32: '', 33: " ", 34: ' ', 35: "string", 36: 'string', 37: "0", // numeric as string 38: "40", 39: "50.696", 40: "0x534", 41: "0X534", 42: 43: TRUE, // boolean 44: FALSE, 45: true, 46: false 47: ); 48: /* loop through each valid scalar variables in $scalar_variables 49: and see the working of is_scalar(), expected output: bool(true) 50: */ 51: $loop_counter = 1; 52: foreach($scalar_variables as $scalar) { 53: echo "-- Iteration $loop_counter --\n"; $loop_counter++; 54: var_dump( is_scalar($scalar) ); 55: } 56: 57: echo "\n*** Testing possible variations ***\n"; 58: // different scalar variables which are unset 59: $int_var = 10; 60: $float_var = 1e5; 61: $string_var = "string"; 62: $boolean_var = true; 63: $object = new stdclass; 64: $array = array(10); 65: $resource = opendir('.'); 66: unset($int_var, $float_var, $string_var, $boolean_var, $object, $array, $resource); 67: 68: // resources 69: $fp = fopen(__FILE__, "r"); 70: $dfp = opendir("."); 71: 72: $variation_array = array( 73: NULL, 74: null, 75: 76: array(), // arrays 77: array(NULL), 78: array(true), 79: array(0), 80: array(1,2,3,4), 81: 82: $fp, // resources 83: $dfp, 84: 85: new stdclass, // object 86: 87: @$int_var, // scalars that are unset 88: @$float_var, 89: @$string_var, 90: @$boolean_var, 91: 92: @$array, // non scalars that are unset 93: @$object, 94: @$resource, 95: 96: @$undefined_var // undefined variable 97: ); 98: 99: /* loop through each element of $variation_array to see the 100: working of is_scalar on non-scalar values, expected output: bool(false) 101: */ 102: $loop_counter = 1; 103: foreach( $variation_array as $value ) { 104: echo "-- Iteration $loop_counter --\n"; $loop_counter++; 105: var_dump( is_scalar($value) ); 106: } 107: 108: echo "\n*** Testing error conditions ***\n"; 109: // Zero arguments 110: var_dump( is_scalar() ); 111: 112: // Arguments more than expected 113: var_dump( is_scalar( $scalar_variables[2], $scalar_variables[2]) ); 114: var_dump( is_scalar( new stdclass, new stdclass) ); 115: 116: echo "Done\n"; 117: 118: // close the resources used 119: fclose($fp); 120: closedir($dfp); 121: 122: ?> 123: --EXPECTF-- 124: *** Testing basic operations *** 125: -- Iteration 1 -- 126: bool(true) 127: -- Iteration 2 -- 128: bool(true) 129: -- Iteration 3 -- 130: bool(true) 131: -- Iteration 4 -- 132: bool(true) 133: -- Iteration 5 -- 134: bool(true) 135: -- Iteration 6 -- 136: bool(true) 137: -- Iteration 7 -- 138: bool(true) 139: -- Iteration 8 -- 140: bool(true) 141: -- Iteration 9 -- 142: bool(true) 143: -- Iteration 10 -- 144: bool(true) 145: -- Iteration 11 -- 146: bool(true) 147: -- Iteration 12 -- 148: bool(true) 149: -- Iteration 13 -- 150: bool(true) 151: -- Iteration 14 -- 152: bool(true) 153: -- Iteration 15 -- 154: bool(true) 155: -- Iteration 16 -- 156: bool(true) 157: -- Iteration 17 -- 158: bool(true) 159: -- Iteration 18 -- 160: bool(true) 161: -- Iteration 19 -- 162: bool(true) 163: -- Iteration 20 -- 164: bool(true) 165: -- Iteration 21 -- 166: bool(true) 167: -- Iteration 22 -- 168: bool(true) 169: -- Iteration 23 -- 170: bool(true) 171: -- Iteration 24 -- 172: bool(true) 173: -- Iteration 25 -- 174: bool(true) 175: -- Iteration 26 -- 176: bool(true) 177: -- Iteration 27 -- 178: bool(true) 179: -- Iteration 28 -- 180: bool(true) 181: -- Iteration 29 -- 182: bool(true) 183: -- Iteration 30 -- 184: bool(true) 185: -- Iteration 31 -- 186: bool(true) 187: -- Iteration 32 -- 188: bool(true) 189: -- Iteration 33 -- 190: bool(true) 191: 192: *** Testing possible variations *** 193: -- Iteration 1 -- 194: bool(false) 195: -- Iteration 2 -- 196: bool(false) 197: -- Iteration 3 -- 198: bool(false) 199: -- Iteration 4 -- 200: bool(false) 201: -- Iteration 5 -- 202: bool(false) 203: -- Iteration 6 -- 204: bool(false) 205: -- Iteration 7 -- 206: bool(false) 207: -- Iteration 8 -- 208: bool(false) 209: -- Iteration 9 -- 210: bool(false) 211: -- Iteration 10 -- 212: bool(false) 213: -- Iteration 11 -- 214: bool(false) 215: -- Iteration 12 -- 216: bool(false) 217: -- Iteration 13 -- 218: bool(false) 219: -- Iteration 14 -- 220: bool(false) 221: -- Iteration 15 -- 222: bool(false) 223: -- Iteration 16 -- 224: bool(false) 225: -- Iteration 17 -- 226: bool(false) 227: -- Iteration 18 -- 228: bool(false) 229: 230: *** Testing error conditions *** 231: 232: Warning: is_scalar() expects exactly 1 parameter, 0 given in %s on line %d 233: NULL 234: 235: Warning: is_scalar() expects exactly 1 parameter, 2 given in %s on line %d 236: NULL 237: 238: Warning: is_scalar() expects exactly 1 parameter, 2 given in %s on line %d 239: NULL 240: Done