]> granicus.if.org Git - php/blob
70aaed9c3f
[php] /
1 --TEST--
2 Test is_bool() function
3 --FILE--
4 <?php
5 /* Prototype: bool is_bool ( mixed $var );
6  * Description: Finds whether the given variable is a boolean
7  */
8
9 echo "*** Testing is_bool() with valid boolean values ***\n";
10 // different valid  boolean values
11 $valid_bools = array(
12   TRUE,
13   FALSE,
14   true,
15   false,
16 );
17 /* loop to check that is_bool() recognizes different
18    bool values, expected output: bool(true) */
19 $loop_counter = 1;
20 foreach ($valid_bools as $bool_val ) {
21   echo "-- Iteration $loop_counter --\n"; $loop_counter++;
22   var_dump( is_bool($bool_val) );
23 }
24
25 echo "\n*** Testing is_bool() on non boolean values ***\n";
26
27 // get a resource type variable
28 $fp = fopen (__FILE__, "r");
29 $dfp = opendir ( __DIR__ );
30
31 // unset variable
32 $unset_bool1 = true;
33 $unset_bool2 = false;
34 $unset_var = 0;
35 unset ($unset_bool1);
36 unset ($unset_bool2);
37 unset ($unset_var);
38
39 // other types in a array
40 $not_bool_types = array (
41   /* integers */
42   0,
43   1,
44   -1,
45   -0,
46   543915,
47   -5322,
48   0x0,
49   0x1,
50   0x55F,
51   -0xCCF,
52   0123,
53   -0654,
54   00,
55   01,
56
57   /* strings */
58   "",
59   '',
60   "0",
61   '0',
62   "1",
63   '1',
64   'string',
65   "string",
66   "true",
67   "false",
68   "FALSE",
69   "TRUE",
70   'true',
71   'false',
72   'FALSE',
73   'TRUE',
74   "NULL",
75   "null",
76
77   /* floats */
78   0.0,
79   1.0,
80   -1.0,
81   10.0000000000000000005,
82   .5e6,
83   -.5E7,
84   .5E+8,
85   -.5e+90,
86   1e5,
87   -1e5,
88   1E5,
89   -1E7,
90
91   /* objects */
92   new stdclass,
93
94   /* resources */
95   $fp,
96   $dfp,
97
98   /* nulls */
99   null,
100   NULL,
101
102   /* arrays */
103   array(),
104   array(0),
105   array(1),
106   array(NULL),
107   array(null),
108   array("string"),
109   array(true),
110   array(TRUE),
111   array(false),
112   array(FALSE),
113   array(1,2,3,4),
114   array(1 => "One", "two" => 2),
115
116   /* unset bool vars and undefined var */
117   @$unset_bool1,
118   @$unset_bool2,
119   @$unset_var,
120   @$undefined_var
121 );
122 /* loop through the $not_bool_types to see working of
123    is_bool() on non bull types, expected output: bool(false) */
124 $loop_counter = 1;
125 foreach ($not_bool_types as $type ) {
126   echo "-- Iteration $loop_counter --\n"; $loop_counter++;
127   var_dump( is_bool($type) );
128 }
129
130 echo "Done\n";
131
132 // close resources
133 fclose($fp);
134 closedir($dfp);
135
136 ?>
137 --EXPECT--
138 *** Testing is_bool() with valid boolean values ***
139 -- Iteration 1 --
140 bool(true)
141 -- Iteration 2 --
142 bool(true)
143 -- Iteration 3 --
144 bool(true)
145 -- Iteration 4 --
146 bool(true)
147
148 *** Testing is_bool() on non boolean values ***
149 -- Iteration 1 --
150 bool(false)
151 -- Iteration 2 --
152 bool(false)
153 -- Iteration 3 --
154 bool(false)
155 -- Iteration 4 --
156 bool(false)
157 -- Iteration 5 --
158 bool(false)
159 -- Iteration 6 --
160 bool(false)
161 -- Iteration 7 --
162 bool(false)
163 -- Iteration 8 --
164 bool(false)
165 -- Iteration 9 --
166 bool(false)
167 -- Iteration 10 --
168 bool(false)
169 -- Iteration 11 --
170 bool(false)
171 -- Iteration 12 --
172 bool(false)
173 -- Iteration 13 --
174 bool(false)
175 -- Iteration 14 --
176 bool(false)
177 -- Iteration 15 --
178 bool(false)
179 -- Iteration 16 --
180 bool(false)
181 -- Iteration 17 --
182 bool(false)
183 -- Iteration 18 --
184 bool(false)
185 -- Iteration 19 --
186 bool(false)
187 -- Iteration 20 --
188 bool(false)
189 -- Iteration 21 --
190 bool(false)
191 -- Iteration 22 --
192 bool(false)
193 -- Iteration 23 --
194 bool(false)
195 -- Iteration 24 --
196 bool(false)
197 -- Iteration 25 --
198 bool(false)
199 -- Iteration 26 --
200 bool(false)
201 -- Iteration 27 --
202 bool(false)
203 -- Iteration 28 --
204 bool(false)
205 -- Iteration 29 --
206 bool(false)
207 -- Iteration 30 --
208 bool(false)
209 -- Iteration 31 --
210 bool(false)
211 -- Iteration 32 --
212 bool(false)
213 -- Iteration 33 --
214 bool(false)
215 -- Iteration 34 --
216 bool(false)
217 -- Iteration 35 --
218 bool(false)
219 -- Iteration 36 --
220 bool(false)
221 -- Iteration 37 --
222 bool(false)
223 -- Iteration 38 --
224 bool(false)
225 -- Iteration 39 --
226 bool(false)
227 -- Iteration 40 --
228 bool(false)
229 -- Iteration 41 --
230 bool(false)
231 -- Iteration 42 --
232 bool(false)
233 -- Iteration 43 --
234 bool(false)
235 -- Iteration 44 --
236 bool(false)
237 -- Iteration 45 --
238 bool(false)
239 -- Iteration 46 --
240 bool(false)
241 -- Iteration 47 --
242 bool(false)
243 -- Iteration 48 --
244 bool(false)
245 -- Iteration 49 --
246 bool(false)
247 -- Iteration 50 --
248 bool(false)
249 -- Iteration 51 --
250 bool(false)
251 -- Iteration 52 --
252 bool(false)
253 -- Iteration 53 --
254 bool(false)
255 -- Iteration 54 --
256 bool(false)
257 -- Iteration 55 --
258 bool(false)
259 -- Iteration 56 --
260 bool(false)
261 -- Iteration 57 --
262 bool(false)
263 -- Iteration 58 --
264 bool(false)
265 -- Iteration 59 --
266 bool(false)
267 -- Iteration 60 --
268 bool(false)
269 -- Iteration 61 --
270 bool(false)
271 -- Iteration 62 --
272 bool(false)
273 -- Iteration 63 --
274 bool(false)
275 -- Iteration 64 --
276 bool(false)
277 -- Iteration 65 --
278 bool(false)
279 Done