1--TEST-- 2Test < operator : different types 3--FILE-- 4<?php 5$valid_true = array(1, "1", "true", 1.0, array(1)); 6$valid_false = array(0, "", 0.0, array(), NULL); 7 8$int1 = 677; 9$int2 = -67837; 10$valid_int1 = array("678", "678abc", " 678", "678 ", 678.0, 6.789E2, "+678", +678); 11$valid_int2 = array("-67836", "-67836abc", " -67836", "-67836 ", -67835.0001, -6.78351E4); 12$invalid_int1 = array(676, "676"); 13$invalid_int2 = array(-67837, "-67837"); 14 15$float1 = 57385.45835; 16$float2 = -67345.76567; 17$valid_float1 = array("57385.45836", "57385.45836aaa", " 57385.45836", 5.738545836e4); 18$valid_float2 = array("-67345.76566", "-67345.76566aaa", " -67345.76566", -6.734576566E4); 19$invalid_float1 = array(57385.45835, 5.738545835e4); 20$invalid_float2 = array(-67345.76567, -6.734576567E4); 21 22 23$toCompare = array( 24 false, $valid_true, $valid_false, 25 $int1, $valid_int1, $invalid_int1, 26 $int2, $valid_int2, $invalid_int2, 27 $float1, $valid_float1, $invalid_float1, 28 $float2, $valid_float2, $invalid_float2 29); 30 31$failed = false; 32for ($i = 0; $i < count($toCompare); $i +=3) { 33 $typeToTest = $toCompare[$i]; 34 $valid_compares = $toCompare[$i + 1]; 35 $invalid_compares = $toCompare[$i + 2]; 36 37 foreach($valid_compares as $compareVal) { 38 if ($typeToTest < $compareVal) { 39 // do nothing 40 } 41 else { 42 echo "FAILED: '$typeToTest' >= '$compareVal'\n"; 43 $failed = true; 44 } 45 } 46 47 foreach($invalid_compares as $compareVal) { 48 if ($typeToTest < $compareVal) { 49 echo "FAILED: '$typeToTest' < '$compareVal'\n"; 50 $failed = true; 51 } 52 } 53 54} 55if ($failed == false) { 56 echo "Test Passed\n"; 57} 58?> 59===DONE=== 60--EXPECT-- 61Test Passed 62===DONE===