1--TEST-- 2Test is_int() & it's FALIASes: is_long() & is_integer() functions 3--SKIPIF-- 4<?php 5if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); 6?> 7--FILE-- 8<?php 9echo "*** Testing is_int(), is_integer() & is_long() with valid integer values ***\n"; 10// different valid integer values 11$valid_ints = array( 12 0, 13 1, 14 -1, 15 -2147483648, // max negative integer value 16 -2147483647, 17 2147483647, // max positive integer value 18 2147483640, 19 0x123B, // integer as hexadecimal 20 0x12ab, 21 0Xfff, 22 0XFA, 23 -0x80000000, // max negative integer as hexadecimal 24 0x7fffffff, // max positive integer as hexadecimal 25 0x7FFFFFFF, // max positive integer as hexadecimal 26 0123, // integer as octal 27 01, // should be quivalent to octal 1 28 -020000000000, // max negative integer as octal 29 017777777777, // max positive integer as octal 30); 31/* loop to check that is_int() recognizes different 32 integer values, expected output: bool(true) */ 33$loop_counter = 1; 34foreach ($valid_ints as $int_val ) { 35 echo "--Iteration $loop_counter--\n"; $loop_counter++; 36 var_dump( is_int($int_val) ); 37 var_dump( is_integer($int_val) ); 38 var_dump( is_long($int_val) ); 39} 40 41echo "\n*** Testing is_int(), is_integer() & is_long() with non integer values ***\n"; 42 43// resource type variable 44$fp = fopen (__FILE__, "r"); 45$dfp = opendir ( __DIR__ ); 46// unset variable 47 48$unset_var = 10; 49unset ($unset_var); 50 51// other types in a array 52$not_int_types = array ( 53 /* float values */ 54 -2147483649, // float value 55 2147483648, // float value 56 -0x80000001, // float value, beyond max negative int 57 0x800000001, // float value, beyond max positive int 58 020000000001, // float value, beyond max positive int 59 -020000000001, // float value, beyond max negative int 60 0.0, 61 -0.1, 62 1.0, 63 1e5, 64 -1e6, 65 1E8, 66 -1E9, 67 10.0000000000000000005, 68 10.5e+5, 69 70 /* objects */ 71 new stdclass, 72 73 /* resources */ 74 $fp, 75 $dfp, 76 77 /* arrays */ 78 array(), 79 array(0), 80 array(1), 81 array(NULL), 82 array(null), 83 array("string"), 84 array(true), 85 array(TRUE), 86 array(false), 87 array(FALSE), 88 array(1,2,3,4), 89 array(1 => "One", "two" => 2), 90 91 /* strings */ 92 "", 93 '', 94 "0", 95 '0', 96 "1", 97 '1', 98 "\x01", 99 '\x01', 100 "\01", 101 '\01', 102 'string', 103 "string", 104 "true", 105 "FALSE", 106 'false', 107 'TRUE', 108 "NULL", 109 'null', 110 111 /* booleans */ 112 true, 113 false, 114 TRUE, 115 FALSE, 116 117 /* undefined and unset vars */ 118 @$unset_var, 119 @$undefined_var 120); 121/* loop through the $not_int_types to see working of 122 is_int() on non integer types, expected output: bool(false) */ 123$loop_counter = 1; 124foreach ($not_int_types as $type ) { 125 echo "--Iteration $loop_counter--\n"; $loop_counter++; 126 var_dump( is_int($type) ); 127 var_dump( is_integer($type) ); 128 var_dump( is_long($type) ); 129} 130 131echo "Done\n"; 132 133// close the resources 134fclose($fp); 135closedir($dfp); 136 137?> 138--EXPECT-- 139*** Testing is_int(), is_integer() & is_long() with valid integer values *** 140--Iteration 1-- 141bool(true) 142bool(true) 143bool(true) 144--Iteration 2-- 145bool(true) 146bool(true) 147bool(true) 148--Iteration 3-- 149bool(true) 150bool(true) 151bool(true) 152--Iteration 4-- 153bool(false) 154bool(false) 155bool(false) 156--Iteration 5-- 157bool(true) 158bool(true) 159bool(true) 160--Iteration 6-- 161bool(true) 162bool(true) 163bool(true) 164--Iteration 7-- 165bool(true) 166bool(true) 167bool(true) 168--Iteration 8-- 169bool(true) 170bool(true) 171bool(true) 172--Iteration 9-- 173bool(true) 174bool(true) 175bool(true) 176--Iteration 10-- 177bool(true) 178bool(true) 179bool(true) 180--Iteration 11-- 181bool(true) 182bool(true) 183bool(true) 184--Iteration 12-- 185bool(false) 186bool(false) 187bool(false) 188--Iteration 13-- 189bool(true) 190bool(true) 191bool(true) 192--Iteration 14-- 193bool(true) 194bool(true) 195bool(true) 196--Iteration 15-- 197bool(true) 198bool(true) 199bool(true) 200--Iteration 16-- 201bool(true) 202bool(true) 203bool(true) 204--Iteration 17-- 205bool(false) 206bool(false) 207bool(false) 208--Iteration 18-- 209bool(true) 210bool(true) 211bool(true) 212 213*** Testing is_int(), is_integer() & is_long() with non integer values *** 214--Iteration 1-- 215bool(false) 216bool(false) 217bool(false) 218--Iteration 2-- 219bool(false) 220bool(false) 221bool(false) 222--Iteration 3-- 223bool(false) 224bool(false) 225bool(false) 226--Iteration 4-- 227bool(false) 228bool(false) 229bool(false) 230--Iteration 5-- 231bool(false) 232bool(false) 233bool(false) 234--Iteration 6-- 235bool(false) 236bool(false) 237bool(false) 238--Iteration 7-- 239bool(false) 240bool(false) 241bool(false) 242--Iteration 8-- 243bool(false) 244bool(false) 245bool(false) 246--Iteration 9-- 247bool(false) 248bool(false) 249bool(false) 250--Iteration 10-- 251bool(false) 252bool(false) 253bool(false) 254--Iteration 11-- 255bool(false) 256bool(false) 257bool(false) 258--Iteration 12-- 259bool(false) 260bool(false) 261bool(false) 262--Iteration 13-- 263bool(false) 264bool(false) 265bool(false) 266--Iteration 14-- 267bool(false) 268bool(false) 269bool(false) 270--Iteration 15-- 271bool(false) 272bool(false) 273bool(false) 274--Iteration 16-- 275bool(false) 276bool(false) 277bool(false) 278--Iteration 17-- 279bool(false) 280bool(false) 281bool(false) 282--Iteration 18-- 283bool(false) 284bool(false) 285bool(false) 286--Iteration 19-- 287bool(false) 288bool(false) 289bool(false) 290--Iteration 20-- 291bool(false) 292bool(false) 293bool(false) 294--Iteration 21-- 295bool(false) 296bool(false) 297bool(false) 298--Iteration 22-- 299bool(false) 300bool(false) 301bool(false) 302--Iteration 23-- 303bool(false) 304bool(false) 305bool(false) 306--Iteration 24-- 307bool(false) 308bool(false) 309bool(false) 310--Iteration 25-- 311bool(false) 312bool(false) 313bool(false) 314--Iteration 26-- 315bool(false) 316bool(false) 317bool(false) 318--Iteration 27-- 319bool(false) 320bool(false) 321bool(false) 322--Iteration 28-- 323bool(false) 324bool(false) 325bool(false) 326--Iteration 29-- 327bool(false) 328bool(false) 329bool(false) 330--Iteration 30-- 331bool(false) 332bool(false) 333bool(false) 334--Iteration 31-- 335bool(false) 336bool(false) 337bool(false) 338--Iteration 32-- 339bool(false) 340bool(false) 341bool(false) 342--Iteration 33-- 343bool(false) 344bool(false) 345bool(false) 346--Iteration 34-- 347bool(false) 348bool(false) 349bool(false) 350--Iteration 35-- 351bool(false) 352bool(false) 353bool(false) 354--Iteration 36-- 355bool(false) 356bool(false) 357bool(false) 358--Iteration 37-- 359bool(false) 360bool(false) 361bool(false) 362--Iteration 38-- 363bool(false) 364bool(false) 365bool(false) 366--Iteration 39-- 367bool(false) 368bool(false) 369bool(false) 370--Iteration 40-- 371bool(false) 372bool(false) 373bool(false) 374--Iteration 41-- 375bool(false) 376bool(false) 377bool(false) 378--Iteration 42-- 379bool(false) 380bool(false) 381bool(false) 382--Iteration 43-- 383bool(false) 384bool(false) 385bool(false) 386--Iteration 44-- 387bool(false) 388bool(false) 389bool(false) 390--Iteration 45-- 391bool(false) 392bool(false) 393bool(false) 394--Iteration 46-- 395bool(false) 396bool(false) 397bool(false) 398--Iteration 47-- 399bool(false) 400bool(false) 401bool(false) 402--Iteration 48-- 403bool(false) 404bool(false) 405bool(false) 406--Iteration 49-- 407bool(false) 408bool(false) 409bool(false) 410--Iteration 50-- 411bool(false) 412bool(false) 413bool(false) 414--Iteration 51-- 415bool(false) 416bool(false) 417bool(false) 418--Iteration 52-- 419bool(false) 420bool(false) 421bool(false) 422--Iteration 53-- 423bool(false) 424bool(false) 425bool(false) 426--Iteration 54-- 427bool(false) 428bool(false) 429bool(false) 430Done 431