Annotation of embedaddon/php/ext/standard/tests/general_functions/is_scalar.phpt, revision 1.1
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>