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