1--TEST-- 2comparing different variables (smaller or equal than) 3--SKIPIF-- 4<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> 5--FILE-- 6<?php 7 8class test { 9} 10 11$a = array( 12 array(1,2,3), 13 "", 14 1, 15 2.5, 16 0, 17 "string", 18 "123", 19 "2.5", 20 NULL, 21 true, 22 false, 23 new stdclass, 24 new stdclass, 25 new test, 26 array(), 27 -PHP_INT_MAX-1, 28 (string)(-PHP_INT_MAX-1), 29); 30 31$var_cnt = count($a); 32 33function my_dump($var) { 34 ob_start(); 35 var_dump($var); 36 $buf = ob_get_clean(); 37 echo str_replace("\n", "", $buf); 38} 39 40foreach($a as $var) { 41 for ($i = 0; $i < $var_cnt; $i++) { 42 my_dump($var); 43 echo ($var <= $a[$i]) ? " <= " : " > "; 44 my_dump($a[$i]); 45 echo "\n"; 46 } 47} 48 49echo "Done\n"; 50?> 51--EXPECTF-- 52array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 53array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(0) "" 54array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(1) 55array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > float(2.5) 56array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(0) 57array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(6) "string" 58array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "123" 59array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(3) "2.5" 60array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > NULL 61array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= bool(true) 62array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > bool(false) 63array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#1 (0) {} 64array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(stdClass)#2 (0) {} 65array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} <= object(test)#3 (0) {} 66array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > array(0) {} 67array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > int(-2147483648) 68array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} > string(11) "-2147483648" 69string(0) "" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 70string(0) "" <= string(0) "" 71string(0) "" <= int(1) 72string(0) "" <= float(2.5) 73string(0) "" <= int(0) 74string(0) "" <= string(6) "string" 75string(0) "" <= string(3) "123" 76string(0) "" <= string(3) "2.5" 77string(0) "" <= NULL 78string(0) "" <= bool(true) 79string(0) "" <= bool(false) 80string(0) "" <= object(stdClass)#1 (0) {} 81string(0) "" <= object(stdClass)#2 (0) {} 82string(0) "" <= object(test)#3 (0) {} 83string(0) "" <= array(0) {} 84string(0) "" <= int(-2147483648) 85string(0) "" <= string(11) "-2147483648" 86int(1) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 87int(1) > string(0) "" 88int(1) <= int(1) 89int(1) <= float(2.5) 90int(1) > int(0) 91int(1) <= string(6) "string" 92int(1) <= string(3) "123" 93int(1) <= string(3) "2.5" 94int(1) > NULL 95int(1) <= bool(true) 96int(1) > bool(false) 97int(1) 98Notice: Object of class stdClass could not be converted to int in %s on line %d 99 <= object(stdClass)#1 (0) {} 100int(1) 101Notice: Object of class stdClass could not be converted to int in %s on line %d 102 <= object(stdClass)#2 (0) {} 103int(1) 104Notice: Object of class test could not be converted to int in %s on line %d 105 <= object(test)#3 (0) {} 106int(1) <= array(0) {} 107int(1) > int(-2147483648) 108int(1) > string(11) "-2147483648" 109float(2.5) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 110float(2.5) > string(0) "" 111float(2.5) > int(1) 112float(2.5) <= float(2.5) 113float(2.5) > int(0) 114float(2.5) <= string(6) "string" 115float(2.5) <= string(3) "123" 116float(2.5) <= string(3) "2.5" 117float(2.5) > NULL 118float(2.5) <= bool(true) 119float(2.5) > bool(false) 120float(2.5) 121Notice: Object of class stdClass could not be converted to float in %s on line %d 122 > object(stdClass)#1 (0) {} 123float(2.5) 124Notice: Object of class stdClass could not be converted to float in %s on line %d 125 > object(stdClass)#2 (0) {} 126float(2.5) 127Notice: Object of class test could not be converted to float in %s on line %d 128 > object(test)#3 (0) {} 129float(2.5) <= array(0) {} 130float(2.5) > int(-2147483648) 131float(2.5) > string(11) "-2147483648" 132int(0) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 133int(0) > string(0) "" 134int(0) <= int(1) 135int(0) <= float(2.5) 136int(0) <= int(0) 137int(0) <= string(6) "string" 138int(0) <= string(3) "123" 139int(0) <= string(3) "2.5" 140int(0) <= NULL 141int(0) <= bool(true) 142int(0) <= bool(false) 143int(0) 144Notice: Object of class stdClass could not be converted to int in %s on line %d 145 <= object(stdClass)#1 (0) {} 146int(0) 147Notice: Object of class stdClass could not be converted to int in %s on line %d 148 <= object(stdClass)#2 (0) {} 149int(0) 150Notice: Object of class test could not be converted to int in %s on line %d 151 <= object(test)#3 (0) {} 152int(0) <= array(0) {} 153int(0) > int(-2147483648) 154int(0) > string(11) "-2147483648" 155string(6) "string" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 156string(6) "string" > string(0) "" 157string(6) "string" > int(1) 158string(6) "string" > float(2.5) 159string(6) "string" > int(0) 160string(6) "string" <= string(6) "string" 161string(6) "string" > string(3) "123" 162string(6) "string" > string(3) "2.5" 163string(6) "string" > NULL 164string(6) "string" <= bool(true) 165string(6) "string" > bool(false) 166string(6) "string" <= object(stdClass)#1 (0) {} 167string(6) "string" <= object(stdClass)#2 (0) {} 168string(6) "string" <= object(test)#3 (0) {} 169string(6) "string" <= array(0) {} 170string(6) "string" > int(-2147483648) 171string(6) "string" > string(11) "-2147483648" 172string(3) "123" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 173string(3) "123" > string(0) "" 174string(3) "123" > int(1) 175string(3) "123" > float(2.5) 176string(3) "123" > int(0) 177string(3) "123" <= string(6) "string" 178string(3) "123" <= string(3) "123" 179string(3) "123" > string(3) "2.5" 180string(3) "123" > NULL 181string(3) "123" <= bool(true) 182string(3) "123" > bool(false) 183string(3) "123" <= object(stdClass)#1 (0) {} 184string(3) "123" <= object(stdClass)#2 (0) {} 185string(3) "123" <= object(test)#3 (0) {} 186string(3) "123" <= array(0) {} 187string(3) "123" > int(-2147483648) 188string(3) "123" > string(11) "-2147483648" 189string(3) "2.5" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 190string(3) "2.5" > string(0) "" 191string(3) "2.5" > int(1) 192string(3) "2.5" <= float(2.5) 193string(3) "2.5" > int(0) 194string(3) "2.5" <= string(6) "string" 195string(3) "2.5" <= string(3) "123" 196string(3) "2.5" <= string(3) "2.5" 197string(3) "2.5" > NULL 198string(3) "2.5" <= bool(true) 199string(3) "2.5" > bool(false) 200string(3) "2.5" <= object(stdClass)#1 (0) {} 201string(3) "2.5" <= object(stdClass)#2 (0) {} 202string(3) "2.5" <= object(test)#3 (0) {} 203string(3) "2.5" <= array(0) {} 204string(3) "2.5" > int(-2147483648) 205string(3) "2.5" > string(11) "-2147483648" 206NULL <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 207NULL <= string(0) "" 208NULL <= int(1) 209NULL <= float(2.5) 210NULL <= int(0) 211NULL <= string(6) "string" 212NULL <= string(3) "123" 213NULL <= string(3) "2.5" 214NULL <= NULL 215NULL <= bool(true) 216NULL <= bool(false) 217NULL <= object(stdClass)#1 (0) {} 218NULL <= object(stdClass)#2 (0) {} 219NULL <= object(test)#3 (0) {} 220NULL <= array(0) {} 221NULL <= int(-2147483648) 222NULL <= string(11) "-2147483648" 223bool(true) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 224bool(true) > string(0) "" 225bool(true) <= int(1) 226bool(true) <= float(2.5) 227bool(true) > int(0) 228bool(true) <= string(6) "string" 229bool(true) <= string(3) "123" 230bool(true) <= string(3) "2.5" 231bool(true) > NULL 232bool(true) <= bool(true) 233bool(true) > bool(false) 234bool(true) <= object(stdClass)#1 (0) {} 235bool(true) <= object(stdClass)#2 (0) {} 236bool(true) <= object(test)#3 (0) {} 237bool(true) > array(0) {} 238bool(true) <= int(-2147483648) 239bool(true) <= string(11) "-2147483648" 240bool(false) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 241bool(false) <= string(0) "" 242bool(false) <= int(1) 243bool(false) <= float(2.5) 244bool(false) <= int(0) 245bool(false) <= string(6) "string" 246bool(false) <= string(3) "123" 247bool(false) <= string(3) "2.5" 248bool(false) <= NULL 249bool(false) <= bool(true) 250bool(false) <= bool(false) 251bool(false) <= object(stdClass)#1 (0) {} 252bool(false) <= object(stdClass)#2 (0) {} 253bool(false) <= object(test)#3 (0) {} 254bool(false) <= array(0) {} 255bool(false) <= int(-2147483648) 256bool(false) <= string(11) "-2147483648" 257object(stdClass)#1 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 258object(stdClass)#1 (0) {} > string(0) "" 259object(stdClass)#1 (0) {} 260Notice: Object of class stdClass could not be converted to int in %s on line %d 261 <= int(1) 262object(stdClass)#1 (0) {} 263Notice: Object of class stdClass could not be converted to float in %s on line %d 264 <= float(2.5) 265object(stdClass)#1 (0) {} 266Notice: Object of class stdClass could not be converted to int in %s on line %d 267 > int(0) 268object(stdClass)#1 (0) {} > string(6) "string" 269object(stdClass)#1 (0) {} > string(3) "123" 270object(stdClass)#1 (0) {} > string(3) "2.5" 271object(stdClass)#1 (0) {} > NULL 272object(stdClass)#1 (0) {} <= bool(true) 273object(stdClass)#1 (0) {} > bool(false) 274object(stdClass)#1 (0) {} <= object(stdClass)#1 (0) {} 275object(stdClass)#1 (0) {} <= object(stdClass)#2 (0) {} 276object(stdClass)#1 (0) {} > object(test)#3 (0) {} 277object(stdClass)#1 (0) {} > array(0) {} 278object(stdClass)#1 (0) {} 279Notice: Object of class stdClass could not be converted to int in %s on line %d 280 > int(-2147483648) 281object(stdClass)#1 (0) {} > string(11) "-2147483648" 282object(stdClass)#2 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 283object(stdClass)#2 (0) {} > string(0) "" 284object(stdClass)#2 (0) {} 285Notice: Object of class stdClass could not be converted to int in %s on line %d 286 <= int(1) 287object(stdClass)#2 (0) {} 288Notice: Object of class stdClass could not be converted to float in %s on line %d 289 <= float(2.5) 290object(stdClass)#2 (0) {} 291Notice: Object of class stdClass could not be converted to int in %s on line %d 292 > int(0) 293object(stdClass)#2 (0) {} > string(6) "string" 294object(stdClass)#2 (0) {} > string(3) "123" 295object(stdClass)#2 (0) {} > string(3) "2.5" 296object(stdClass)#2 (0) {} > NULL 297object(stdClass)#2 (0) {} <= bool(true) 298object(stdClass)#2 (0) {} > bool(false) 299object(stdClass)#2 (0) {} <= object(stdClass)#1 (0) {} 300object(stdClass)#2 (0) {} <= object(stdClass)#2 (0) {} 301object(stdClass)#2 (0) {} > object(test)#3 (0) {} 302object(stdClass)#2 (0) {} > array(0) {} 303object(stdClass)#2 (0) {} 304Notice: Object of class stdClass could not be converted to int in %s on line %d 305 > int(-2147483648) 306object(stdClass)#2 (0) {} > string(11) "-2147483648" 307object(test)#3 (0) {} > array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 308object(test)#3 (0) {} > string(0) "" 309object(test)#3 (0) {} 310Notice: Object of class test could not be converted to int in %s on line %d 311 <= int(1) 312object(test)#3 (0) {} 313Notice: Object of class test could not be converted to float in %s on line %d 314 <= float(2.5) 315object(test)#3 (0) {} 316Notice: Object of class test could not be converted to int in %s on line %d 317 > int(0) 318object(test)#3 (0) {} > string(6) "string" 319object(test)#3 (0) {} > string(3) "123" 320object(test)#3 (0) {} > string(3) "2.5" 321object(test)#3 (0) {} > NULL 322object(test)#3 (0) {} <= bool(true) 323object(test)#3 (0) {} > bool(false) 324object(test)#3 (0) {} > object(stdClass)#1 (0) {} 325object(test)#3 (0) {} > object(stdClass)#2 (0) {} 326object(test)#3 (0) {} <= object(test)#3 (0) {} 327object(test)#3 (0) {} > array(0) {} 328object(test)#3 (0) {} 329Notice: Object of class test could not be converted to int in %s on line %d 330 > int(-2147483648) 331object(test)#3 (0) {} > string(11) "-2147483648" 332array(0) {} <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 333array(0) {} > string(0) "" 334array(0) {} > int(1) 335array(0) {} > float(2.5) 336array(0) {} > int(0) 337array(0) {} > string(6) "string" 338array(0) {} > string(3) "123" 339array(0) {} > string(3) "2.5" 340array(0) {} <= NULL 341array(0) {} <= bool(true) 342array(0) {} <= bool(false) 343array(0) {} <= object(stdClass)#1 (0) {} 344array(0) {} <= object(stdClass)#2 (0) {} 345array(0) {} <= object(test)#3 (0) {} 346array(0) {} <= array(0) {} 347array(0) {} > int(-2147483648) 348array(0) {} > string(11) "-2147483648" 349int(-2147483648) <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 350int(-2147483648) > string(0) "" 351int(-2147483648) <= int(1) 352int(-2147483648) <= float(2.5) 353int(-2147483648) <= int(0) 354int(-2147483648) <= string(6) "string" 355int(-2147483648) <= string(3) "123" 356int(-2147483648) <= string(3) "2.5" 357int(-2147483648) > NULL 358int(-2147483648) <= bool(true) 359int(-2147483648) > bool(false) 360int(-2147483648) 361Notice: Object of class stdClass could not be converted to int in %s on line %d 362 <= object(stdClass)#1 (0) {} 363int(-2147483648) 364Notice: Object of class stdClass could not be converted to int in %s on line %d 365 <= object(stdClass)#2 (0) {} 366int(-2147483648) 367Notice: Object of class test could not be converted to int in %s on line %d 368 <= object(test)#3 (0) {} 369int(-2147483648) <= array(0) {} 370int(-2147483648) <= int(-2147483648) 371int(-2147483648) <= string(11) "-2147483648" 372string(11) "-2147483648" <= array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)} 373string(11) "-2147483648" > string(0) "" 374string(11) "-2147483648" <= int(1) 375string(11) "-2147483648" <= float(2.5) 376string(11) "-2147483648" <= int(0) 377string(11) "-2147483648" <= string(6) "string" 378string(11) "-2147483648" <= string(3) "123" 379string(11) "-2147483648" <= string(3) "2.5" 380string(11) "-2147483648" > NULL 381string(11) "-2147483648" <= bool(true) 382string(11) "-2147483648" > bool(false) 383string(11) "-2147483648" <= object(stdClass)#1 (0) {} 384string(11) "-2147483648" <= object(stdClass)#2 (0) {} 385string(11) "-2147483648" <= object(test)#3 (0) {} 386string(11) "-2147483648" <= array(0) {} 387string(11) "-2147483648" <= int(-2147483648) 388string(11) "-2147483648" <= string(11) "-2147483648" 389Done 390