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