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