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