@ 2013-04-06T05:21:01Z <pre><?php print "\n";
function prhead($spc){
print "\n".str_pad('$a',$spc-1,' ',STR_PAD_BOTH).'VS.'.str_pad('$b',$spc-1,' ',STR_PAD_BOTH).' ';
print '$a>$b'." ".'$a<$b'." ".'$a<=$b'." ".'$a>=$b'." ".'$a==$b'." ".'$a===$b'." \n";
}
function prline($item,$spc){
print str_pad($item['typea'].'('.$item['vala'].')',$spc,' ',STR_PAD_BOTH).' ';
print str_pad($item['typeb'].'('.$item['valb'].')',$spc,' ',STR_PAD_BOTH);
unset($item['typea']);unset($item['typeb']);unset($item['vala']);unset($item['valb']);
foreach ($item as $i) print ' '.str_pad($i,5,' ',STR_PAD_LEFT);
print " \n";
}
$wh=array('boolean','string','double','integer');
$to=array('bool','str','float','int');
$cleanup=array("'' . "," . ''","\n",'array ()');
$q=array(NAN,INF,-INF,NULL,'',array(),'true','text',TRUE,1,1e0,'1',FALSE,'false','-','+',chr(0),0,'0',0e0,-1,-1e0,'-01','-001','01','001');
//$q=array("015","0015","-015","-0015",15,"15","-15",'-',-15,'15e0','15e2',1500,15e0,15e2);
//$q=array('A','a','ax','abc');
//Scientific `e` notation is of type `float`, not integer (no mater if too 'small') !
//Integers going over `PHP_INT_MAX` get automatically converted to `float`
//Floats going over system's boundaries have `INF` value
//Undefined variables are of type and value `NULL`
//Integers preceded by `0` are converted from octal do decimal (on assignment)
//Converting Strings containing an integer with a leading `0` TO integer strips the leading `0`
//Fun string comparison: 'Queen' > 'King' > 'Jack' > 'Ace'
$res=array();$crazy=array();$equality=array();$ltgt=array();$compatible=array();
$types=array();$vals=array();
foreach ($q as $a) {
foreach ($q as $b) {
$item=array();
$typea=str_replace($wh,$to,gettype($a));$types[$typea]=strlen($typea);
$vala=str_replace($cleanup,'',var_export($a,true));
$vals[$vala]=strlen($vala);
$typeb=str_replace($wh,$to,gettype($b));$types[$typeb]=strlen($typeb);
$valb=str_replace($cleanup,'',var_export($b,true));
$vals[$valb]=strlen($valb);
//if (($typea!=$typeb)||($vala!=$valb)){
$item['gt']=var_export($a>$b,true);
$item['lt']=var_export($a<$b,true);
$item['lte']=var_export($a<=$b,true);
$item['gte']=var_export($a>=$b,true);
$item['eq']=var_export($a==$b,true);
$item['eqs']=var_export($a===$b,true);
$same=$item;
$item['typea']=$typea;
$item['typeb']=$typeb;
$item['vala']=$vala;
$item['valb']=$valb;
$head=array($typea.'('.$vala.')',$typeb.'('.$valb.')');
sort($head);
$head=implode('',$head); //funny huh?
if (count(array_unique($same))==1) { if (!isset($crazy[$head])) $crazy[$head]=$item; }
elseif ($item['eq']!=$item['eqs']) { if (!isset($equality[$head])) $equality[$head]=$item; }
elseif (($item['eq']==$item['eqs'])&&($item['eq']=='true')) {
if (!isset($compatible[$head])) $compatible[$head]=$item;
} elseif (($item['lt']==$item['gt'])&&($item['gt']=='true')) {
if (!isset($ltgt[$head])) $ltgt[$head]=$item;
} else { if (!isset($res[$head])) $res[$head]=$item; }
//}
}
}
ksort($crazy);
ksort($res);
ksort($ltgt);
ksort($equality);
ksort($compatible);
$spc=max($vals)+max($types)+2;
print "Very strange: ";
prhead($spc);
foreach ($crazy as $item) prline($item,$spc);
print "\nEqual but not identical: ";
prhead($spc);
foreach ($equality as $item) prline($item,$spc);
print "\nLower and Greater at the same time? ";
prhead($spc);
foreach ($ltgt as $item) prline($item,$spc);
print "\nCompatible (equal and identical): ";
prhead($spc);
foreach ($compatible as $item) prline($item,$spc);
print "\nLower or Greater: ";
prhead($spc);
foreach ($res as $item) prline($item,$spc);
?></pre>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Abusive script This script was stopped while abusing our resources
Output for 8.0.0 - 8.0.30 , 8.1.0 - 8.1.29 , 8.2.0 - 8.2.23 , 8.3.0 - 8.3.11 <pre>
Very strange:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) float(-1.0) false false false false false false
float(NAN) float(-INF) false false false false false false
float(NAN) float(0.0) false false false false false false
float(NAN) float(1.0) false false false false false false
float(NAN) float(INF) false false false false false false
float(NAN) float(NAN) false false false false false false
float(NAN) int(-1) false false false false false false
float(NAN) int(0) false false false false false false
float(NAN) int(1) false false false false false false
float(NAN) str("\0") false false false false false false
float(NAN) str('') false false false false false false
float(NAN) str('+') false false false false false false
float(NAN) str('-') false false false false false false
float(NAN) str('-001') false false false false false false
float(NAN) str('-01') false false false false false false
float(NAN) str('0') false false false false false false
float(NAN) str('001') false false false false false false
float(NAN) str('01') false false false false false false
float(NAN) str('1') false false false false false false
float(NAN) str('false') false false false false false false
float(NAN) str('text') false false false false false false
float(NAN) str('true') false false false false false false
Equal but not identical:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) array() false false true true true false
NULL(NULL) bool(false) false false true true true false
NULL(NULL) float(0.0) false false true true true false
NULL(NULL) int(0) false false true true true false
NULL(NULL) str('') false false true true true false
array() bool(false) false false true true true false
bool(false) float(0.0) false false true true true false
bool(false) int(0) false false true true true false
str('') bool(false) false false true true true false
bool(false) str('0') false false true true true false
bool(true) float(-1.0) false false true true true false
float(-INF) bool(true) false false true true true false
bool(true) float(1.0) false false true true true false
float(INF) bool(true) false false true true true false
float(NAN) bool(true) false false true true true false
bool(true) int(-1) false false true true true false
bool(true) int(1) false false true true true false
bool(true) str("\0") false false true true true false
bool(true) str('+') false false true true true false
bool(true) str('-') false false true true true false
bool(true) str('-001') false false true true true false
bool(true) str('-01') false false true true true false
bool(true) str('001') false false true true true false
bool(true) str('01') false false true true true false
bool(true) str('1') false false true true true false
bool(true) str('false') false false true true true false
str('text') bool(true) false false true true true false
str('true') bool(true) false false true true true false
int(-1) float(-1.0) false false true true true false
float(-1.0) str('-001') false false true true true false
float(-1.0) str('-01') false false true true true false
int(0) float(0.0) false false true true true false
str('0') float(0.0) false false true true true false
int(1) float(1.0) false false true true true false
float(1.0) str('001') false false true true true false
float(1.0) str('01') false false true true true false
float(1.0) str('1') false false true true true false
int(-1) str('-001') false false true true true false
int(-1) str('-01') false false true true true false
int(0) str('0') false false true true true false
int(1) str('001') false false true true true false
int(1) str('01') false false true true true false
int(1) str('1') false false true true true false
str('-01') str('-001') false false true true true false
str('01') str('001') false false true true true false
str('1') str('001') false false true true true false
str('1') str('01') false false true true true false
Lower and Greater at the same time?
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
Compatible (equal and identical):
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) NULL(NULL) false false true true true true
array() array() false false true true true true
bool(false) bool(false) false false true true true true
bool(true) bool(true) false false true true true true
float(-1.0) float(-1.0) false false true true true true
float(-INF) float(-INF) false false true true true true
float(0.0) float(0.0) false false true true true true
float(1.0) float(1.0) false false true true true true
float(INF) float(INF) false false true true true true
int(-1) int(-1) false false true true true true
int(0) int(0) false false true true true true
int(1) int(1) false false true true true true
str("\0") str("\0") false false true true true true
str('') str('') false false true true true true
str('+') str('+') false false true true true true
str('-') str('-') false false true true true true
str('-001') str('-001') false false true true true true
str('-01') str('-01') false false true true true true
str('0') str('0') false false true true true true
str('001') str('001') false false true true true true
str('01') str('01') false false true true true true
str('1') str('1') false false true true true true
str('false') str('false') false false true true true true
str('text') str('text') false false true true true true
str('true') str('true') false false true true true true
Lower or Greater:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) bool(true) false true true false false false
NULL(NULL) float(-1.0) false true true false false false
float(-INF) NULL(NULL) true false false true false false
NULL(NULL) float(1.0) false true true false false false
float(INF) NULL(NULL) true false false true false false
float(NAN) NULL(NULL) true false false true false false
NULL(NULL) int(-1) false true true false false false
NULL(NULL) int(1) false true true false false false
NULL(NULL) str("\0") false true true false false false
NULL(NULL) str('+') false true true false false false
NULL(NULL) str('-') false true true false false false
NULL(NULL) str('-001') false true true false false false
NULL(NULL) str('-01') false true true false false false
NULL(NULL) str('0') false true true false false false
NULL(NULL) str('001') false true true false false false
NULL(NULL) str('01') false true true false false false
NULL(NULL) str('1') false true true false false false
NULL(NULL) str('false') false true true false false false
NULL(NULL) str('text') false true true false false false
NULL(NULL) str('true') false true true false false false
array() bool(true) false true true false false false
array() float(-1.0) true false false true false false
float(-INF) array() false true true false false false
array() float(0.0) true false false true false false
array() float(1.0) true false false true false false
float(INF) array() false true true false false false
float(NAN) array() false true true false false false
array() int(-1) true false false true false false
array() int(0) true false false true false false
array() int(1) true false false true false false
array() str("\0") true false false true false false
str('') array() false true true false false false
array() str('+') true false false true false false
array() str('-') true false false true false false
array() str('-001') true false false true false false
array() str('-01') true false false true false false
array() str('0') true false false true false false
array() str('001') true false false true false false
array() str('01') true false false true false false
array() str('1') true false false true false false
array() str('false') true false false true false false
array() str('text') true false false true false false
array() str('true') true false false true false false
bool(true) bool(false) true false false true false false
bool(false) float(-1.0) false true true false false false
float(-INF) bool(false) true false false true false false
float(1.0) bool(false) true false false true false false
float(INF) bool(false) true false false true false false
float(NAN) bool(false) true false false true false false
bool(false) int(-1) false true true false false false
int(1) bool(false) true false false true false false
bool(false) str("\0") false true true false false false
bool(false) str('+') false true true false false false
bool(false) str('-') false true true false false false
bool(false) str('-001') false true true false false false
bool(false) str('-01') false true true false false false
bool(false) str('001') false true true false false false
bool(false) str('01') false true true false false false
str('1') bool(false) true false false true false false
bool(false) str('false') false true true false false false
str('text') bool(false) true false false true false false
str('true') bool(false) true false false true false false
bool(true) float(0.0) true false false true false false
bool(true) int(0) true false false true false false
str('') bool(true) false true true false false false
bool(true) str('0') true false false true false false
float(-INF) float(-1.0) false true true false false false
float(0.0) float(-1.0) true false false true false false
float(1.0) float(-1.0) true false false true false false
float(INF) float(-1.0) true false false true false false
int(0) float(-1.0) true false false true false false
int(1) float(-1.0) true false false true false false
str("\0") float(-1.0) false true true false false false
str('') float(-1.0) false true true false false false
str('+') float(-1.0) false true true false false false
str('-') float(-1.0) false true true false false false
str('0') float(-1.0) true false false true false false
float(-1.0) str('001') false true true false false false
float(-1.0) str('01') false true true false false false
str('1') float(-1.0) true false false true false false
str('false') float(-1.0) true false false true false false
str('text') float(-1.0) true false false true false false
str('true') float(-1.0) true false false true false false
float(-INF) float(0.0) false true true false false false
float(-INF) float(1.0) false true true false false false
float(INF) float(-INF) true false false true false false
float(-INF) int(-1) false true true false false false
float(-INF) int(0) false true true false false false
float(-INF) int(1) false true true false false false
float(-INF) str("\0") true false false true false false
float(-INF) str('') true false false true false false
float(-INF) str('+') true false false true false false
float(-INF) str('-') true false false true false false
float(-INF) str('-001') false true true false false false
float(-INF) str('-01') false true true false false false
float(-INF) str('0') false true true false false false
float(-INF) str('001') false true true false false false
float(-INF) str('01') false true true false false false
float(-INF) str('1') false true true false false false
float(-INF) str('false') false true true false false false
float(-INF) str('text') false true true false false false
float(-INF) str('true') false true true false false false
float(1.0) float(0.0) true false false true false false
float(INF) float(0.0) true false false true false false
float(0.0) int(-1) true false false true false false
int(1) float(0.0) true false false true false false
str("\0") float(0.0) false true true false false false
str('') float(0.0) false true true false false false
str('+') float(0.0) false true true false false false
str('-') float(0.0) false true true false false false
float(0.0) str('-001') true false false true false false
float(0.0) str('-01') true false false true false false
float(0.0) str('001') false true true false false false
float(0.0) str('01') false true true false false false
str('1') float(0.0) true false false true false false
str('false') float(0.0) true false false true false false
str('text') float(0.0) true false false true false false
str('true') float(0.0) true false false true false false
float(INF) float(1.0) true false false true false false
float(1.0) int(-1) true false false true false false
float(1.0) int(0) true false false true false false
float(1.0) str("\0") true false false true false false
str('') float(1.0) false true true false false false
float(1.0) str('+') true false false true false false
float(1.0) str('-') true false false true false false
float(1.0) str('-001') true false false true false false
float(1.0) str('-01') true false false true false false
float(1.0) str('0') true false false true false false
float(1.0) str('false') false true true false false false
str('text') float(1.0) true false false true false false
str('true') float(1.0) true false false true false false
float(INF) int(-1) true false false true false false
float(INF) int(0) true false false true false false
float(INF) int(1) true false false true false false
float(INF) str("\0") true false false true false false
float(INF) str('') true false false true false false
float(INF) str('+') true false false true false false
float(INF) str('-') true false false true false false
float(INF) str('-001') true false false true false false
float(INF) str('-01') true false false true false false
float(INF) str('0') true false false true false false
float(INF) str('001') true false false true false false
float(INF) str('01') true false false true false false
float(INF) str('1') true false false true false false
float(INF) str('false') false true true false false false
float(INF) str('text') false true true false false false
float(INF) str('true') false true true false false false
int(0) int(-1) true false false true false false
int(1) int(-1) true false false true false false
str("\0") int(-1) false true true false false false
str('') int(-1) false true true false false false
str('+') int(-1) false true true false false false
str('-') int(-1) false true true false false false
str('0') int(-1) true false false true false false
int(-1) str('001') false true true false false false
int(-1) str('01') false true true false false false
str('1') int(-1) true false false true false false
str('false') int(-1) true false false true false false
str('text') int(-1) true false false true false false
str('true') int(-1) true false false true false false
int(1) int(0) true false false true false false
str("\0") int(0) false true true false false false
str('') int(0) false true true false false false
str('+') int(0) false true true false false false
str('-') int(0) false true true false false false
int(0) str('-001') true false false true false false
int(0) str('-01') true false false true false false
int(0) str('001') false true true false false false
int(0) str('01') false true true false false false
str('1') int(0) true false false true false false
str('false') int(0) true false false true false false
str('text') int(0) true false false true false false
str('true') int(0) true false false true false false
int(1) str("\0") true false false true false false
str('') int(1) false true true false false false
int(1) str('+') true false false true false false
int(1) str('-') true false false true false false
int(1) str('-001') true false false true false false
int(1) str('-01') true false false true false false
int(1) str('0') true false false true false false
int(1) str('false') false true true false false false
str('text') int(1) true false false true false false
str('true') int(1) true false false true false false
str('') str("\0") false true true false false false
str('+') str("\0") true false false true false false
str('-') str("\0") true false false true false false
str("\0") str('-001') false true true false false false
str("\0") str('-01') false true true false false false
str("\0") str('0') false true true false false false
str("\0") str('001') false true true false false false
str("\0") str('01') false true true false false false
str('1') str("\0") true false false true false false
str('false') str("\0") true false false true false false
str('text') str("\0") true false false true false false
str('true') str("\0") true false false true false false
str('') str('+') false true true false false false
str('') str('-') false true true false false false
str('') str('-001') false true true false false false
str('') str('-01') false true true false false false
str('') str('0') false true true false false false
str('') str('001') false true true false false false
str('') str('01') false true true false false false
str('') str('1') false true true false false false
str('') str('false') false true true false false false
str('') str('text') false true true false false false
str('') str('true') false true true false false false
str('-') str('+') true false false true false false
str('+') str('-001') false true true false false false
str('+') str('-01') false true true false false false
str('+') str('0') false true true false false false
str('+') str('001') false true true false false false
str('+') str('01') false true true false false false
str('1') str('+') true false false true false false
str('false') str('+') true false false true false false
str('text') str('+') true false false true false false
str('true') str('+') true false false true false false
str('-') str('-001') false true true false false false
str('-') str('-01') false true true false false false
str('-') str('0') false true true false false false
str('-') str('001') false true true false false false
str('-') str('01') false true true false false false
str('1') str('-') true false false true false false
str('false') str('-') true false false true false false
str('text') str('-') true false false true false false
str('true') str('-') true false false true false false
str('0') str('-001') true false false true false false
str('-001') str('001') false true true false false false
str('-001') str('01') false true true false false false
str('1') str('-001') true false false true false false
str('false') str('-001') true false false true false false
str('text') str('-001') true false false true false false
str('true') str('-001') true false false true false false
str('0') str('-01') true false false true false false
str('-01') str('001') false true true false false false
str('-01') str('01') false true true false false false
str('1') str('-01') true false false true false false
str('false') str('-01') true false false true false false
str('text') str('-01') true false false true false false
str('true') str('-01') true false false true false false
str('0') str('001') false true true false false false
str('0') str('01') false true true false false false
str('1') str('0') true false false true false false
str('false') str('0') true false false true false false
str('text') str('0') true false false true false false
str('true') str('0') true false false true false false
str('false') str('001') true false false true false false
str('text') str('001') true false false true false false
str('true') str('001') true false false true false false
str('false') str('01') true false false true false false
str('text') str('01') true false false true false false
str('true') str('01') true false false true false false
str('1') str('false') false true true false false false
str('text') str('1') true false false true false false
str('true') str('1') true false false true false false
str('text') str('false') true false false true false false
str('true') str('false') true false false true false false
str('true') str('text') true false false true false false
</pre> Output for 7.0.23 - 7.0.29 , 7.1.9 - 7.1.16 , 7.2.0 - 7.2.33 , 7.3.16 - 7.3.33 , 7.4.3 - 7.4.33 <pre>
Very strange:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) float(-1.0) false false false false false false
float(NAN) float(-INF) false false false false false false
float(NAN) float(0.0) false false false false false false
float(NAN) float(1.0) false false false false false false
float(NAN) float(INF) false false false false false false
float(NAN) float(NAN) false false false false false false
float(NAN) int(-1) false false false false false false
float(NAN) int(0) false false false false false false
float(NAN) int(1) false false false false false false
float(NAN) str("\0") false false false false false false
float(NAN) str('') false false false false false false
float(NAN) str('+') false false false false false false
float(NAN) str('-') false false false false false false
float(NAN) str('-001') false false false false false false
float(NAN) str('-01') false false false false false false
float(NAN) str('0') false false false false false false
float(NAN) str('001') false false false false false false
float(NAN) str('01') false false false false false false
float(NAN) str('1') false false false false false false
float(NAN) str('false') false false false false false false
float(NAN) str('text') false false false false false false
float(NAN) str('true') false false false false false false
Equal but not identical:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) array() false false true true true false
NULL(NULL) bool(false) false false true true true false
NULL(NULL) float(0.0) false false true true true false
NULL(NULL) int(0) false false true true true false
NULL(NULL) str('') false false true true true false
array() bool(false) false false true true true false
bool(false) float(0.0) false false true true true false
bool(false) int(0) false false true true true false
str('') bool(false) false false true true true false
bool(false) str('0') false false true true true false
bool(true) float(-1.0) false false true true true false
float(-INF) bool(true) false false true true true false
bool(true) float(1.0) false false true true true false
float(INF) bool(true) false false true true true false
float(NAN) bool(true) false false true true true false
bool(true) int(-1) false false true true true false
bool(true) int(1) false false true true true false
bool(true) str("\0") false false true true true false
bool(true) str('+') false false true true true false
bool(true) str('-') false false true true true false
bool(true) str('-001') false false true true true false
bool(true) str('-01') false false true true true false
bool(true) str('001') false false true true true false
bool(true) str('01') false false true true true false
bool(true) str('1') false false true true true false
bool(true) str('false') false false true true true false
str('text') bool(true) false false true true true false
str('true') bool(true) false false true true true false
int(-1) float(-1.0) false false true true true false
float(-1.0) str('-001') false false true true true false
float(-1.0) str('-01') false false true true true false
int(0) float(0.0) false false true true true false
str("\0") float(0.0) false false true true true false
str('') float(0.0) false false true true true false
str('+') float(0.0) false false true true true false
str('-') float(0.0) false false true true true false
str('0') float(0.0) false false true true true false
str('false') float(0.0) false false true true true false
str('text') float(0.0) false false true true true false
str('true') float(0.0) false false true true true false
int(1) float(1.0) false false true true true false
float(1.0) str('001') false false true true true false
float(1.0) str('01') false false true true true false
float(1.0) str('1') false false true true true false
int(-1) str('-001') false false true true true false
int(-1) str('-01') false false true true true false
str("\0") int(0) false false true true true false
str('') int(0) false false true true true false
str('+') int(0) false false true true true false
str('-') int(0) false false true true true false
int(0) str('0') false false true true true false
str('false') int(0) false false true true true false
str('text') int(0) false false true true true false
str('true') int(0) false false true true true false
int(1) str('001') false false true true true false
int(1) str('01') false false true true true false
int(1) str('1') false false true true true false
str('-01') str('-001') false false true true true false
str('01') str('001') false false true true true false
str('1') str('001') false false true true true false
str('1') str('01') false false true true true false
Lower and Greater at the same time?
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
Compatible (equal and identical):
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) NULL(NULL) false false true true true true
array() array() false false true true true true
bool(false) bool(false) false false true true true true
bool(true) bool(true) false false true true true true
float(-1.0) float(-1.0) false false true true true true
float(-INF) float(-INF) false false true true true true
float(0.0) float(0.0) false false true true true true
float(1.0) float(1.0) false false true true true true
float(INF) float(INF) false false true true true true
int(-1) int(-1) false false true true true true
int(0) int(0) false false true true true true
int(1) int(1) false false true true true true
str("\0") str("\0") false false true true true true
str('') str('') false false true true true true
str('+') str('+') false false true true true true
str('-') str('-') false false true true true true
str('-001') str('-001') false false true true true true
str('-01') str('-01') false false true true true true
str('0') str('0') false false true true true true
str('001') str('001') false false true true true true
str('01') str('01') false false true true true true
str('1') str('1') false false true true true true
str('false') str('false') false false true true true true
str('text') str('text') false false true true true true
str('true') str('true') false false true true true true
Lower or Greater:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) bool(true) false true true false false false
NULL(NULL) float(-1.0) false true true false false false
float(-INF) NULL(NULL) true false false true false false
NULL(NULL) float(1.0) false true true false false false
float(INF) NULL(NULL) true false false true false false
float(NAN) NULL(NULL) true false false true false false
NULL(NULL) int(-1) false true true false false false
NULL(NULL) int(1) false true true false false false
NULL(NULL) str("\0") false true true false false false
NULL(NULL) str('+') false true true false false false
NULL(NULL) str('-') false true true false false false
NULL(NULL) str('-001') false true true false false false
NULL(NULL) str('-01') false true true false false false
NULL(NULL) str('0') false true true false false false
NULL(NULL) str('001') false true true false false false
NULL(NULL) str('01') false true true false false false
NULL(NULL) str('1') false true true false false false
NULL(NULL) str('false') false true true false false false
NULL(NULL) str('text') false true true false false false
NULL(NULL) str('true') false true true false false false
array() bool(true) false true true false false false
array() float(-1.0) true false false true false false
float(-INF) array() false true true false false false
array() float(0.0) true false false true false false
array() float(1.0) true false false true false false
float(INF) array() false true true false false false
float(NAN) array() false true true false false false
array() int(-1) true false false true false false
array() int(0) true false false true false false
array() int(1) true false false true false false
array() str("\0") true false false true false false
str('') array() false true true false false false
array() str('+') true false false true false false
array() str('-') true false false true false false
array() str('-001') true false false true false false
array() str('-01') true false false true false false
array() str('0') true false false true false false
array() str('001') true false false true false false
array() str('01') true false false true false false
array() str('1') true false false true false false
array() str('false') true false false true false false
array() str('text') true false false true false false
array() str('true') true false false true false false
bool(true) bool(false) true false false true false false
bool(false) float(-1.0) false true true false false false
float(-INF) bool(false) true false false true false false
float(1.0) bool(false) true false false true false false
float(INF) bool(false) true false false true false false
float(NAN) bool(false) true false false true false false
bool(false) int(-1) false true true false false false
int(1) bool(false) true false false true false false
bool(false) str("\0") false true true false false false
bool(false) str('+') false true true false false false
bool(false) str('-') false true true false false false
bool(false) str('-001') false true true false false false
bool(false) str('-01') false true true false false false
bool(false) str('001') false true true false false false
bool(false) str('01') false true true false false false
str('1') bool(false) true false false true false false
bool(false) str('false') false true true false false false
str('text') bool(false) true false false true false false
str('true') bool(false) true false false true false false
bool(true) float(0.0) true false false true false false
bool(true) int(0) true false false true false false
str('') bool(true) false true true false false false
bool(true) str('0') true false false true false false
float(-INF) float(-1.0) false true true false false false
float(0.0) float(-1.0) true false false true false false
float(1.0) float(-1.0) true false false true false false
float(INF) float(-1.0) true false false true false false
int(0) float(-1.0) true false false true false false
int(1) float(-1.0) true false false true false false
str("\0") float(-1.0) true false false true false false
str('') float(-1.0) true false false true false false
str('+') float(-1.0) true false false true false false
str('-') float(-1.0) true false false true false false
str('0') float(-1.0) true false false true false false
float(-1.0) str('001') false true true false false false
float(-1.0) str('01') false true true false false false
str('1') float(-1.0) true false false true false false
str('false') float(-1.0) true false false true false false
str('text') float(-1.0) true false false true false false
str('true') float(-1.0) true false false true false false
float(-INF) float(0.0) false true true false false false
float(-INF) float(1.0) false true true false false false
float(INF) float(-INF) true false false true false false
float(-INF) int(-1) false true true false false false
float(-INF) int(0) false true true false false false
float(-INF) int(1) false true true false false false
float(-INF) str("\0") false true true false false false
float(-INF) str('') false true true false false false
float(-INF) str('+') false true true false false false
float(-INF) str('-') false true true false false false
float(-INF) str('-001') false true true false false false
float(-INF) str('-01') false true true false false false
float(-INF) str('0') false true true false false false
float(-INF) str('001') false true true false false false
float(-INF) str('01') false true true false false false
float(-INF) str('1') false true true false false false
float(-INF) str('false') false true true false false false
float(-INF) str('text') false true true false false false
float(-INF) str('true') false true true false false false
float(1.0) float(0.0) true false false true false false
float(INF) float(0.0) true false false true false false
float(0.0) int(-1) true false false true false false
int(1) float(0.0) true false false true false false
float(0.0) str('-001') true false false true false false
float(0.0) str('-01') true false false true false false
float(0.0) str('001') false true true false false false
float(0.0) str('01') false true true false false false
str('1') float(0.0) true false false true false false
float(INF) float(1.0) true false false true false false
float(1.0) int(-1) true false false true false false
float(1.0) int(0) true false false true false false
float(1.0) str("\0") true false false true false false
str('') float(1.0) false true true false false false
float(1.0) str('+') true false false true false false
float(1.0) str('-') true false false true false false
float(1.0) str('-001') true false false true false false
float(1.0) str('-01') true false false true false false
float(1.0) str('0') true false false true false false
float(1.0) str('false') true false false true false false
str('text') float(1.0) false true true false false false
str('true') float(1.0) false true true false false false
float(INF) int(-1) true false false true false false
float(INF) int(0) true false false true false false
float(INF) int(1) true false false true false false
float(INF) str("\0") true false false true false false
float(INF) str('') true false false true false false
float(INF) str('+') true false false true false false
float(INF) str('-') true false false true false false
float(INF) str('-001') true false false true false false
float(INF) str('-01') true false false true false false
float(INF) str('0') true false false true false false
float(INF) str('001') true false false true false false
float(INF) str('01') true false false true false false
float(INF) str('1') true false false true false false
float(INF) str('false') true false false true false false
float(INF) str('text') true false false true false false
float(INF) str('true') true false false true false false
int(0) int(-1) true false false true false false
int(1) int(-1) true false false true false false
str("\0") int(-1) true false false true false false
str('') int(-1) true false false true false false
str('+') int(-1) true false false true false false
str('-') int(-1) true false false true false false
str('0') int(-1) true false false true false false
int(-1) str('001') false true true false false false
int(-1) str('01') false true true false false false
str('1') int(-1) true false false true false false
str('false') int(-1) true false false true false false
str('text') int(-1) true false false true false false
str('true') int(-1) true false false true false false
int(1) int(0) true false false true false false
int(0) str('-001') true false false true false false
int(0) str('-01') true false false true false false
int(0) str('001') false true true false false false
int(0) str('01') false true true false false false
str('1') int(0) true false false true false false
int(1) str("\0") true false false true false false
str('') int(1) false true true false false false
int(1) str('+') true false false true false false
int(1) str('-') true false false true false false
int(1) str('-001') true false false true false false
int(1) str('-01') true false false true false false
int(1) str('0') true false false true false false
int(1) str('false') true false false true false false
str('text') int(1) false true true false false false
str('true') int(1) false true true false false false
str('') str("\0") false true true false false false
str('+') str("\0") true false false true false false
str('-') str("\0") true false false true false false
str("\0") str('-001') false true true false false false
str("\0") str('-01') false true true false false false
str("\0") str('0') false true true false false false
str("\0") str('001') false true true false false false
str("\0") str('01') false true true false false false
str('1') str("\0") true false false true false false
str('false') str("\0") true false false true false false
str('text') str("\0") true false false true false false
str('true') str("\0") true false false true false false
str('') str('+') false true true false false false
str('') str('-') false true true false false false
str('') str('-001') false true true false false false
str('') str('-01') false true true false false false
str('') str('0') false true true false false false
str('') str('001') false true true false false false
str('') str('01') false true true false false false
str('') str('1') false true true false false false
str('') str('false') false true true false false false
str('') str('text') false true true false false false
str('') str('true') false true true false false false
str('-') str('+') true false false true false false
str('+') str('-001') false true true false false false
str('+') str('-01') false true true false false false
str('+') str('0') false true true false false false
str('+') str('001') false true true false false false
str('+') str('01') false true true false false false
str('1') str('+') true false false true false false
str('false') str('+') true false false true false false
str('text') str('+') true false false true false false
str('true') str('+') true false false true false false
str('-') str('-001') false true true false false false
str('-') str('-01') false true true false false false
str('-') str('0') false true true false false false
str('-') str('001') false true true false false false
str('-') str('01') false true true false false false
str('1') str('-') true false false true false false
str('false') str('-') true false false true false false
str('text') str('-') true false false true false false
str('true') str('-') true false false true false false
str('0') str('-001') true false false true false false
str('-001') str('001') false true true false false false
str('-001') str('01') false true true false false false
str('1') str('-001') true false false true false false
str('false') str('-001') true false false true false false
str('text') str('-001') true false false true false false
str('true') str('-001') true false false true false false
str('0') str('-01') true false false true false false
str('-01') str('001') false true true false false false
str('-01') str('01') false true true false false false
str('1') str('-01') true false false true false false
str('false') str('-01') true false false true false false
str('text') str('-01') true false false true false false
str('true') str('-01') true false false true false false
str('0') str('001') false true true false false false
str('0') str('01') false true true false false false
str('1') str('0') true false false true false false
str('false') str('0') true false false true false false
str('text') str('0') true false false true false false
str('true') str('0') true false false true false false
str('false') str('001') true false false true false false
str('text') str('001') true false false true false false
str('true') str('001') true false false true false false
str('false') str('01') true false false true false false
str('text') str('01') true false false true false false
str('true') str('01') true false false true false false
str('1') str('false') false true true false false false
str('text') str('1') true false false true false false
str('true') str('1') true false false true false false
str('text') str('false') true false false true false false
str('true') str('false') true false false true false false
str('true') str('text') true false false true false false
</pre> Output for 7.0.3 - 7.0.22 , 7.1.0 - 7.1.8 <pre>
Very strange:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) float(-1.0) false false false false false false
float(NAN) float(-INF) false false false false false false
float(NAN) float(0.0) false false false false false false
float(NAN) float(1.0) false false false false false false
float(NAN) float(INF) false false false false false false
float(NAN) float(NAN) false false false false false false
float(NAN) int(-1) false false false false false false
float(NAN) int(0) false false false false false false
float(NAN) int(1) false false false false false false
Equal but not identical:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) array() false false true true true false
NULL(NULL) bool(false) false false true true true false
NULL(NULL) float(0.0) false false true true true false
NULL(NULL) int(0) false false true true true false
NULL(NULL) str('') false false true true true false
array() bool(false) false false true true true false
bool(false) float(0.0) false false true true true false
bool(false) int(0) false false true true true false
str('') bool(false) false false true true true false
bool(false) str('0') false false true true true false
bool(true) float(-1.0) false false true true true false
float(-INF) bool(true) false false true true true false
bool(true) float(1.0) false false true true true false
float(INF) bool(true) false false true true true false
float(NAN) bool(true) false false true true true false
bool(true) int(-1) false false true true true false
bool(true) int(1) false false true true true false
bool(true) str("\0") false false true true true false
bool(true) str('+') false false true true true false
bool(true) str('-') false false true true true false
bool(true) str('-001') false false true true true false
bool(true) str('-01') false false true true true false
bool(true) str('001') false false true true true false
bool(true) str('01') false false true true true false
bool(true) str('1') false false true true true false
bool(true) str('false') false false true true true false
str('text') bool(true) false false true true true false
str('true') bool(true) false false true true true false
int(-1) float(-1.0) false false true true true false
float(-1.0) str('-001') false false true true true false
float(-1.0) str('-01') false false true true true false
int(0) float(0.0) false false true true true false
str("\0") float(0.0) false false true true true false
str('') float(0.0) false false true true true false
str('+') float(0.0) false false true true true false
str('-') float(0.0) false false true true true false
str('0') float(0.0) false false true true true false
str('false') float(0.0) false false true true true false
str('text') float(0.0) false false true true true false
str('true') float(0.0) false false true true true false
int(1) float(1.0) false false true true true false
float(1.0) str('001') false false true true true false
float(1.0) str('01') false false true true true false
float(1.0) str('1') false false true true true false
int(-1) str('-001') false false true true true false
int(-1) str('-01') false false true true true false
str("\0") int(0) false false true true true false
str('') int(0) false false true true true false
str('+') int(0) false false true true true false
str('-') int(0) false false true true true false
int(0) str('0') false false true true true false
str('false') int(0) false false true true true false
str('text') int(0) false false true true true false
str('true') int(0) false false true true true false
int(1) str('001') false false true true true false
int(1) str('01') false false true true true false
int(1) str('1') false false true true true false
str('-01') str('-001') false false true true true false
str('01') str('001') false false true true true false
str('1') str('001') false false true true true false
str('1') str('01') false false true true true false
Lower and Greater at the same time?
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) str("\0") true true true true false false
float(NAN) str('') true true true true false false
float(NAN) str('+') true true true true false false
float(NAN) str('-') true true true true false false
float(NAN) str('-001') true true true true false false
float(NAN) str('-01') true true true true false false
float(NAN) str('0') true true true true false false
float(NAN) str('001') true true true true false false
float(NAN) str('01') true true true true false false
float(NAN) str('1') true true true true false false
float(NAN) str('false') true true true true false false
float(NAN) str('text') true true true true false false
float(NAN) str('true') true true true true false false
Compatible (equal and identical):
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) NULL(NULL) false false true true true true
array() array() false false true true true true
bool(false) bool(false) false false true true true true
bool(true) bool(true) false false true true true true
float(-1.0) float(-1.0) false false true true true true
float(-INF) float(-INF) false false true true true true
float(0.0) float(0.0) false false true true true true
float(1.0) float(1.0) false false true true true true
float(INF) float(INF) false false true true true true
int(-1) int(-1) false false true true true true
int(0) int(0) false false true true true true
int(1) int(1) false false true true true true
str("\0") str("\0") false false true true true true
str('') str('') false false true true true true
str('+') str('+') false false true true true true
str('-') str('-') false false true true true true
str('-001') str('-001') false false true true true true
str('-01') str('-01') false false true true true true
str('0') str('0') false false true true true true
str('001') str('001') false false true true true true
str('01') str('01') false false true true true true
str('1') str('1') false false true true true true
str('false') str('false') false false true true true true
str('text') str('text') false false true true true true
str('true') str('true') false false true true true true
Lower or Greater:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) bool(true) false true true false false false
NULL(NULL) float(-1.0) false true true false false false
float(-INF) NULL(NULL) true false false true false false
NULL(NULL) float(1.0) false true true false false false
float(INF) NULL(NULL) true false false true false false
float(NAN) NULL(NULL) true false false true false false
NULL(NULL) int(-1) false true true false false false
NULL(NULL) int(1) false true true false false false
NULL(NULL) str("\0") false true true false false false
NULL(NULL) str('+') false true true false false false
NULL(NULL) str('-') false true true false false false
NULL(NULL) str('-001') false true true false false false
NULL(NULL) str('-01') false true true false false false
NULL(NULL) str('0') false true true false false false
NULL(NULL) str('001') false true true false false false
NULL(NULL) str('01') false true true false false false
NULL(NULL) str('1') false true true false false false
NULL(NULL) str('false') false true true false false false
NULL(NULL) str('text') false true true false false false
NULL(NULL) str('true') false true true false false false
array() bool(true) false true true false false false
array() float(-1.0) true false false true false false
float(-INF) array() false true true false false false
array() float(0.0) true false false true false false
array() float(1.0) true false false true false false
float(INF) array() false true true false false false
float(NAN) array() false true true false false false
array() int(-1) true false false true false false
array() int(0) true false false true false false
array() int(1) true false false true false false
array() str("\0") true false false true false false
str('') array() false true true false false false
array() str('+') true false false true false false
array() str('-') true false false true false false
array() str('-001') true false false true false false
array() str('-01') true false false true false false
array() str('0') true false false true false false
array() str('001') true false false true false false
array() str('01') true false false true false false
array() str('1') true false false true false false
array() str('false') true false false true false false
array() str('text') true false false true false false
array() str('true') true false false true false false
bool(true) bool(false) true false false true false false
bool(false) float(-1.0) false true true false false false
float(-INF) bool(false) true false false true false false
float(1.0) bool(false) true false false true false false
float(INF) bool(false) true false false true false false
float(NAN) bool(false) true false false true false false
bool(false) int(-1) false true true false false false
int(1) bool(false) true false false true false false
bool(false) str("\0") false true true false false false
bool(false) str('+') false true true false false false
bool(false) str('-') false true true false false false
bool(false) str('-001') false true true false false false
bool(false) str('-01') false true true false false false
bool(false) str('001') false true true false false false
bool(false) str('01') false true true false false false
str('1') bool(false) true false false true false false
bool(false) str('false') false true true false false false
str('text') bool(false) true false false true false false
str('true') bool(false) true false false true false false
bool(true) float(0.0) true false false true false false
bool(true) int(0) true false false true false false
str('') bool(true) false true true false false false
bool(true) str('0') true false false true false false
float(-INF) float(-1.0) false true true false false false
float(0.0) float(-1.0) true false false true false false
float(1.0) float(-1.0) true false false true false false
float(INF) float(-1.0) true false false true false false
int(0) float(-1.0) true false false true false false
int(1) float(-1.0) true false false true false false
str("\0") float(-1.0) true false false true false false
str('') float(-1.0) true false false true false false
str('+') float(-1.0) true false false true false false
str('-') float(-1.0) true false false true false false
str('0') float(-1.0) true false false true false false
float(-1.0) str('001') false true true false false false
float(-1.0) str('01') false true true false false false
str('1') float(-1.0) true false false true false false
str('false') float(-1.0) true false false true false false
str('text') float(-1.0) true false false true false false
str('true') float(-1.0) true false false true false false
float(-INF) float(0.0) false true true false false false
float(-INF) float(1.0) false true true false false false
float(INF) float(-INF) true false false true false false
float(-INF) int(-1) false true true false false false
float(-INF) int(0) false true true false false false
float(-INF) int(1) false true true false false false
float(-INF) str("\0") false true true false false false
float(-INF) str('') false true true false false false
float(-INF) str('+') false true true false false false
float(-INF) str('-') false true true false false false
float(-INF) str('-001') false true true false false false
float(-INF) str('-01') false true true false false false
float(-INF) str('0') false true true false false false
float(-INF) str('001') false true true false false false
float(-INF) str('01') false true true false false false
float(-INF) str('1') false true true false false false
float(-INF) str('false') false true true false false false
float(-INF) str('text') false true true false false false
float(-INF) str('true') false true true false false false
float(1.0) float(0.0) true false false true false false
float(INF) float(0.0) true false false true false false
float(0.0) int(-1) true false false true false false
int(1) float(0.0) true false false true false false
float(0.0) str('-001') true false false true false false
float(0.0) str('-01') true false false true false false
float(0.0) str('001') false true true false false false
float(0.0) str('01') false true true false false false
str('1') float(0.0) true false false true false false
float(INF) float(1.0) true false false true false false
float(1.0) int(-1) true false false true false false
float(1.0) int(0) true false false true false false
float(1.0) str("\0") true false false true false false
str('') float(1.0) false true true false false false
float(1.0) str('+') true false false true false false
float(1.0) str('-') true false false true false false
float(1.0) str('-001') true false false true false false
float(1.0) str('-01') true false false true false false
float(1.0) str('0') true false false true false false
float(1.0) str('false') true false false true false false
str('text') float(1.0) false true true false false false
str('true') float(1.0) false true true false false false
float(INF) int(-1) true false false true false false
float(INF) int(0) true false false true false false
float(INF) int(1) true false false true false false
float(INF) str("\0") true false false true false false
float(INF) str('') true false false true false false
float(INF) str('+') true false false true false false
float(INF) str('-') true false false true false false
float(INF) str('-001') true false false true false false
float(INF) str('-01') true false false true false false
float(INF) str('0') true false false true false false
float(INF) str('001') true false false true false false
float(INF) str('01') true false false true false false
float(INF) str('1') true false false true false false
float(INF) str('false') true false false true false false
float(INF) str('text') true false false true false false
float(INF) str('true') true false false true false false
int(0) int(-1) true false false true false false
int(1) int(-1) true false false true false false
str("\0") int(-1) true false false true false false
str('') int(-1) true false false true false false
str('+') int(-1) true false false true false false
str('-') int(-1) true false false true false false
str('0') int(-1) true false false true false false
int(-1) str('001') false true true false false false
int(-1) str('01') false true true false false false
str('1') int(-1) true false false true false false
str('false') int(-1) true false false true false false
str('text') int(-1) true false false true false false
str('true') int(-1) true false false true false false
int(1) int(0) true false false true false false
int(0) str('-001') true false false true false false
int(0) str('-01') true false false true false false
int(0) str('001') false true true false false false
int(0) str('01') false true true false false false
str('1') int(0) true false false true false false
int(1) str("\0") true false false true false false
str('') int(1) false true true false false false
int(1) str('+') true false false true false false
int(1) str('-') true false false true false false
int(1) str('-001') true false false true false false
int(1) str('-01') true false false true false false
int(1) str('0') true false false true false false
int(1) str('false') true false false true false false
str('text') int(1) false true true false false false
str('true') int(1) false true true false false false
str('') str("\0") false true true false false false
str('+') str("\0") true false false true false false
str('-') str("\0") true false false true false false
str("\0") str('-001') false true true false false false
str("\0") str('-01') false true true false false false
str("\0") str('0') false true true false false false
str("\0") str('001') false true true false false false
str("\0") str('01') false true true false false false
str('1') str("\0") true false false true false false
str('false') str("\0") true false false true false false
str('text') str("\0") true false false true false false
str('true') str("\0") true false false true false false
str('') str('+') false true true false false false
str('') str('-') false true true false false false
str('') str('-001') false true true false false false
str('') str('-01') false true true false false false
str('') str('0') false true true false false false
str('') str('001') false true true false false false
str('') str('01') false true true false false false
str('') str('1') false true true false false false
str('') str('false') false true true false false false
str('') str('text') false true true false false false
str('') str('true') false true true false false false
str('-') str('+') true false false true false false
str('+') str('-001') false true true false false false
str('+') str('-01') false true true false false false
str('+') str('0') false true true false false false
str('+') str('001') false true true false false false
str('+') str('01') false true true false false false
str('1') str('+') true false false true false false
str('false') str('+') true false false true false false
str('text') str('+') true false false true false false
str('true') str('+') true false false true false false
str('-') str('-001') false true true false false false
str('-') str('-01') false true true false false false
str('-') str('0') false true true false false false
str('-') str('001') false true true false false false
str('-') str('01') false true true false false false
str('1') str('-') true false false true false false
str('false') str('-') true false false true false false
str('text') str('-') true false false true false false
str('true') str('-') true false false true false false
str('0') str('-001') true false false true false false
str('-001') str('001') false true true false false false
str('-001') str('01') false true true false false false
str('1') str('-001') true false false true false false
str('false') str('-001') true false false true false false
str('text') str('-001') true false false true false false
str('true') str('-001') true false false true false false
str('0') str('-01') true false false true false false
str('-01') str('001') false true true false false false
str('-01') str('01') false true true false false false
str('1') str('-01') true false false true false false
str('false') str('-01') true false false true false false
str('text') str('-01') true false false true false false
str('true') str('-01') true false false true false false
str('0') str('001') false true true false false false
str('0') str('01') false true true false false false
str('1') str('0') true false false true false false
str('false') str('0') true false false true false false
str('text') str('0') true false false true false false
str('true') str('0') true false false true false false
str('false') str('001') true false false true false false
str('text') str('001') true false false true false false
str('true') str('001') true false false true false false
str('false') str('01') true false false true false false
str('text') str('01') true false false true false false
str('true') str('01') true false false true false false
str('1') str('false') false true true false false false
str('text') str('1') true false false true false false
str('true') str('1') true false false true false false
str('text') str('false') true false false true false false
str('true') str('false') true false false true false false
str('true') str('text') true false false true false false
</pre> Output for 7.0.2 <pre>
Very strange:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN.0) float(-1.0) false false false false false false
float(NAN.0) float(-INF.0) false false false false false false
float(NAN.0) float(0.0) false false false false false false
float(NAN.0) float(1.0) false false false false false false
float(NAN.0) float(INF.0) false false false false false false
float(NAN.0) float(NAN.0) false false false false false false
float(NAN.0) int(-1) false false false false false false
float(NAN.0) int(0) false false false false false false
float(NAN.0) int(1) false false false false false false
Equal but not identical:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) array() false false true true true false
NULL(NULL) bool(false) false false true true true false
NULL(NULL) float(0.0) false false true true true false
NULL(NULL) int(0) false false true true true false
NULL(NULL) str('') false false true true true false
array() bool(false) false false true true true false
bool(false) float(0.0) false false true true true false
bool(false) int(0) false false true true true false
str('') bool(false) false false true true true false
bool(false) str('0') false false true true true false
bool(true) float(-1.0) false false true true true false
float(-INF.0) bool(true) false false true true true false
bool(true) float(1.0) false false true true true false
float(INF.0) bool(true) false false true true true false
float(NAN.0) bool(true) false false true true true false
bool(true) int(-1) false false true true true false
bool(true) int(1) false false true true true false
bool(true) str("\0") false false true true true false
bool(true) str('+') false false true true true false
bool(true) str('-') false false true true true false
bool(true) str('-001') false false true true true false
bool(true) str('-01') false false true true true false
bool(true) str('001') false false true true true false
bool(true) str('01') false false true true true false
bool(true) str('1') false false true true true false
bool(true) str('false') false false true true true false
str('text') bool(true) false false true true true false
str('true') bool(true) false false true true true false
int(-1) float(-1.0) false false true true true false
float(-1.0) str('-001') false false true true true false
float(-1.0) str('-01') false false true true true false
int(0) float(0.0) false false true true true false
str("\0") float(0.0) false false true true true false
str('') float(0.0) false false true true true false
str('+') float(0.0) false false true true true false
str('-') float(0.0) false false true true true false
str('0') float(0.0) false false true true true false
str('false') float(0.0) false false true true true false
str('text') float(0.0) false false true true true false
str('true') float(0.0) false false true true true false
int(1) float(1.0) false false true true true false
float(1.0) str('001') false false true true true false
float(1.0) str('01') false false true true true false
float(1.0) str('1') false false true true true false
int(-1) str('-001') false false true true true false
int(-1) str('-01') false false true true true false
str("\0") int(0) false false true true true false
str('') int(0) false false true true true false
str('+') int(0) false false true true true false
str('-') int(0) false false true true true false
int(0) str('0') false false true true true false
str('false') int(0) false false true true true false
str('text') int(0) false false true true true false
str('true') int(0) false false true true true false
int(1) str('001') false false true true true false
int(1) str('01') false false true true true false
int(1) str('1') false false true true true false
str('-01') str('-001') false false true true true false
str('01') str('001') false false true true true false
str('1') str('001') false false true true true false
str('1') str('01') false false true true true false
Lower and Greater at the same time?
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN.0) str("\0") true true true true false false
float(NAN.0) str('') true true true true false false
float(NAN.0) str('+') true true true true false false
float(NAN.0) str('-') true true true true false false
float(NAN.0) str('-001') true true true true false false
float(NAN.0) str('-01') true true true true false false
float(NAN.0) str('0') true true true true false false
float(NAN.0) str('001') true true true true false false
float(NAN.0) str('01') true true true true false false
float(NAN.0) str('1') true true true true false false
float(NAN.0) str('false') true true true true false false
float(NAN.0) str('text') true true true true false false
float(NAN.0) str('true') true true true true false false
Compatible (equal and identical):
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) NULL(NULL) false false true true true true
array() array() false false true true true true
bool(false) bool(false) false false true true true true
bool(true) bool(true) false false true true true true
float(-1.0) float(-1.0) false false true true true true
float(-INF.0) float(-INF.0) false false true true true true
float(0.0) float(0.0) false false true true true true
float(1.0) float(1.0) false false true true true true
float(INF.0) float(INF.0) false false true true true true
int(-1) int(-1) false false true true true true
int(0) int(0) false false true true true true
int(1) int(1) false false true true true true
str("\0") str("\0") false false true true true true
str('') str('') false false true true true true
str('+') str('+') false false true true true true
str('-') str('-') false false true true true true
str('-001') str('-001') false false true true true true
str('-01') str('-01') false false true true true true
str('0') str('0') false false true true true true
str('001') str('001') false false true true true true
str('01') str('01') false false true true true true
str('1') str('1') false false true true true true
str('false') str('false') false false true true true true
str('text') str('text') false false true true true true
str('true') str('true') false false true true true true
Lower or Greater:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) bool(true) false true true false false false
NULL(NULL) float(-1.0) false true true false false false
float(-INF.0) NULL(NULL) true false false true false false
NULL(NULL) float(1.0) false true true false false false
float(INF.0) NULL(NULL) true false false true false false
float(NAN.0) NULL(NULL) true false false true false false
NULL(NULL) int(-1) false true true false false false
NULL(NULL) int(1) false true true false false false
NULL(NULL) str("\0") false true true false false false
NULL(NULL) str('+') false true true false false false
NULL(NULL) str('-') false true true false false false
NULL(NULL) str('-001') false true true false false false
NULL(NULL) str('-01') false true true false false false
NULL(NULL) str('0') false true true false false false
NULL(NULL) str('001') false true true false false false
NULL(NULL) str('01') false true true false false false
NULL(NULL) str('1') false true true false false false
NULL(NULL) str('false') false true true false false false
NULL(NULL) str('text') false true true false false false
NULL(NULL) str('true') false true true false false false
array() bool(true) false true true false false false
array() float(-1.0) true false false true false false
float(-INF.0) array() false true true false false false
array() float(0.0) true false false true false false
array() float(1.0) true false false true false false
float(INF.0) array() false true true false false false
float(NAN.0) array() false true true false false false
array() int(-1) true false false true false false
array() int(0) true false false true false false
array() int(1) true false false true false false
array() str("\0") true false false true false false
str('') array() false true true false false false
array() str('+') true false false true false false
array() str('-') true false false true false false
array() str('-001') true false false true false false
array() str('-01') true false false true false false
array() str('0') true false false true false false
array() str('001') true false false true false false
array() str('01') true false false true false false
array() str('1') true false false true false false
array() str('false') true false false true false false
array() str('text') true false false true false false
array() str('true') true false false true false false
bool(true) bool(false) true false false true false false
bool(false) float(-1.0) false true true false false false
float(-INF.0) bool(false) true false false true false false
float(1.0) bool(false) true false false true false false
float(INF.0) bool(false) true false false true false false
float(NAN.0) bool(false) true false false true false false
bool(false) int(-1) false true true false false false
int(1) bool(false) true false false true false false
bool(false) str("\0") false true true false false false
bool(false) str('+') false true true false false false
bool(false) str('-') false true true false false false
bool(false) str('-001') false true true false false false
bool(false) str('-01') false true true false false false
bool(false) str('001') false true true false false false
bool(false) str('01') false true true false false false
str('1') bool(false) true false false true false false
bool(false) str('false') false true true false false false
str('text') bool(false) true false false true false false
str('true') bool(false) true false false true false false
bool(true) float(0.0) true false false true false false
bool(true) int(0) true false false true false false
str('') bool(true) false true true false false false
bool(true) str('0') true false false true false false
float(-INF.0) float(-1.0) false true true false false false
float(0.0) float(-1.0) true false false true false false
float(1.0) float(-1.0) true false false true false false
float(INF.0) float(-1.0) true false false true false false
int(0) float(-1.0) true false false true false false
int(1) float(-1.0) true false false true false false
str("\0") float(-1.0) true false false true false false
str('') float(-1.0) true false false true false false
str('+') float(-1.0) true false false true false false
str('-') float(-1.0) true false false true false false
str('0') float(-1.0) true false false true false false
float(-1.0) str('001') false true true false false false
float(-1.0) str('01') false true true false false false
str('1') float(-1.0) true false false true false false
str('false') float(-1.0) true false false true false false
str('text') float(-1.0) true false false true false false
str('true') float(-1.0) true false false true false false
float(-INF.0) float(0.0) false true true false false false
float(-INF.0) float(1.0) false true true false false false
float(INF.0) float(-INF.0) true false false true false false
float(-INF.0) int(-1) false true true false false false
float(-INF.0) int(0) false true true false false false
float(-INF.0) int(1) false true true false false false
float(-INF.0) str("\0") false true true false false false
float(-INF.0) str('') false true true false false false
float(-INF.0) str('+') false true true false false false
float(-INF.0) str('-') false true true false false false
float(-INF.0) str('-001') false true true false false false
float(-INF.0) str('-01') false true true false false false
float(-INF.0) str('0') false true true false false false
float(-INF.0) str('001') false true true false false false
float(-INF.0) str('01') false true true false false false
float(-INF.0) str('1') false true true false false false
float(-INF.0) str('false') false true true false false false
float(-INF.0) str('text') false true true false false false
float(-INF.0) str('true') false true true false false false
float(1.0) float(0.0) true false false true false false
float(INF.0) float(0.0) true false false true false false
float(0.0) int(-1) true false false true false false
int(1) float(0.0) true false false true false false
float(0.0) str('-001') true false false true false false
float(0.0) str('-01') true false false true false false
float(0.0) str('001') false true true false false false
float(0.0) str('01') false true true false false false
str('1') float(0.0) true false false true false false
float(INF.0) float(1.0) true false false true false false
float(1.0) int(-1) true false false true false false
float(1.0) int(0) true false false true false false
float(1.0) str("\0") true false false true false false
str('') float(1.0) false true true false false false
float(1.0) str('+') true false false true false false
float(1.0) str('-') true false false true false false
float(1.0) str('-001') true false false true false false
float(1.0) str('-01') true false false true false false
float(1.0) str('0') true false false true false false
float(1.0) str('false') true false false true false false
str('text') float(1.0) false true true false false false
str('true') float(1.0) false true true false false false
float(INF.0) int(-1) true false false true false false
float(INF.0) int(0) true false false true false false
float(INF.0) int(1) true false false true false false
float(INF.0) str("\0") true false false true false false
float(INF.0) str('') true false false true false false
float(INF.0) str('+') true false false true false false
float(INF.0) str('-') true false false true false false
float(INF.0) str('-001') true false false true false false
float(INF.0) str('-01') true false false true false false
float(INF.0) str('0') true false false true false false
float(INF.0) str('001') true false false true false false
float(INF.0) str('01') true false false true false false
float(INF.0) str('1') true false false true false false
float(INF.0) str('false') true false false true false false
float(INF.0) str('text') true false false true false false
float(INF.0) str('true') true false false true false false
int(0) int(-1) true false false true false false
int(1) int(-1) true false false true false false
str("\0") int(-1) true false false true false false
str('') int(-1) true false false true false false
str('+') int(-1) true false false true false false
str('-') int(-1) true false false true false false
str('0') int(-1) true false false true false false
int(-1) str('001') false true true false false false
int(-1) str('01') false true true false false false
str('1') int(-1) true false false true false false
str('false') int(-1) true false false true false false
str('text') int(-1) true false false true false false
str('true') int(-1) true false false true false false
int(1) int(0) true false false true false false
int(0) str('-001') true false false true false false
int(0) str('-01') true false false true false false
int(0) str('001') false true true false false false
int(0) str('01') false true true false false false
str('1') int(0) true false false true false false
int(1) str("\0") true false false true false false
str('') int(1) false true true false false false
int(1) str('+') true false false true false false
int(1) str('-') true false false true false false
int(1) str('-001') true false false true false false
int(1) str('-01') true false false true false false
int(1) str('0') true false false true false false
int(1) str('false') true false false true false false
str('text') int(1) false true true false false false
str('true') int(1) false true true false false false
str('') str("\0") false true true false false false
str('+') str("\0") true false false true false false
str('-') str("\0") true false false true false false
str("\0") str('-001') false true true false false false
str("\0") str('-01') false true true false false false
str("\0") str('0') false true true false false false
str("\0") str('001') false true true false false false
str("\0") str('01') false true true false false false
str('1') str("\0") true false false true false false
str('false') str("\0") true false false true false false
str('text') str("\0") true false false true false false
str('true') str("\0") true false false true false false
str('') str('+') false true true false false false
str('') str('-') false true true false false false
str('') str('-001') false true true false false false
str('') str('-01') false true true false false false
str('') str('0') false true true false false false
str('') str('001') false true true false false false
str('') str('01') false true true false false false
str('') str('1') false true true false false false
str('') str('false') false true true false false false
str('') str('text') false true true false false false
str('') str('true') false true true false false false
str('-') str('+') true false false true false false
str('+') str('-001') false true true false false false
str('+') str('-01') false true true false false false
str('+') str('0') false true true false false false
str('+') str('001') false true true false false false
str('+') str('01') false true true false false false
str('1') str('+') true false false true false false
str('false') str('+') true false false true false false
str('text') str('+') true false false true false false
str('true') str('+') true false false true false false
str('-') str('-001') false true true false false false
str('-') str('-01') false true true false false false
str('-') str('0') false true true false false false
str('-') str('001') false true true false false false
str('-') str('01') false true true false false false
str('1') str('-') true false false true false false
str('false') str('-') true false false true false false
str('text') str('-') true false false true false false
str('true') str('-') true false false true false false
str('0') str('-001') true false false true false false
str('-001') str('001') false true true false false false
str('-001') str('01') false true true false false false
str('1') str('-001') true false false true false false
str('false') str('-001') true false false true false false
str('text') str('-001') true false false true false false
str('true') str('-001') true false false true false false
str('0') str('-01') true false false true false false
str('-01') str('001') false true true false false false
str('-01') str('01') false true true false false false
str('1') str('-01') true false false true false false
str('false') str('-01') true false false true false false
str('text') str('-01') true false false true false false
str('true') str('-01') true false false true false false
str('0') str('001') false true true false false false
str('0') str('01') false true true false false false
str('1') str('0') true false false true false false
str('false') str('0') true false false true false false
str('text') str('0') true false false true false false
str('true') str('0') true false false true false false
str('false') str('001') true false false true false false
str('text') str('001') true false false true false false
str('true') str('001') true false false true false false
str('false') str('01') true false false true false false
str('text') str('01') true false false true false false
str('true') str('01') true false false true false false
str('1') str('false') false true true false false false
str('text') str('1') true false false true false false
str('true') str('1') true false false true false false
str('text') str('false') true false false true false false
str('true') str('false') true false false true false false
str('true') str('text') true false false true false false
</pre> Output for 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.30 , 7.0.0 - 7.0.1 <pre>
Very strange:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) float(-1) false false false false false false
float(NAN) float(-INF) false false false false false false
float(NAN) float(0) false false false false false false
float(NAN) float(1) false false false false false false
float(NAN) float(INF) false false false false false false
float(NAN) float(NAN) false false false false false false
float(NAN) int(-1) false false false false false false
float(NAN) int(0) false false false false false false
float(NAN) int(1) false false false false false false
Equal but not identical:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) array() false false true true true false
NULL(NULL) bool(false) false false true true true false
NULL(NULL) float(0) false false true true true false
NULL(NULL) int(0) false false true true true false
NULL(NULL) str('') false false true true true false
array() bool(false) false false true true true false
bool(false) float(0) false false true true true false
bool(false) int(0) false false true true true false
str('') bool(false) false false true true true false
bool(false) str('0') false false true true true false
bool(true) float(-1) false false true true true false
float(-INF) bool(true) false false true true true false
bool(true) float(1) false false true true true false
float(INF) bool(true) false false true true true false
float(NAN) bool(true) false false true true true false
bool(true) int(-1) false false true true true false
bool(true) int(1) false false true true true false
bool(true) str("\0") false false true true true false
bool(true) str('+') false false true true true false
bool(true) str('-') false false true true true false
bool(true) str('-001') false false true true true false
bool(true) str('-01') false false true true true false
bool(true) str('001') false false true true true false
bool(true) str('01') false false true true true false
bool(true) str('1') false false true true true false
bool(true) str('false') false false true true true false
str('text') bool(true) false false true true true false
str('true') bool(true) false false true true true false
int(-1) float(-1) false false true true true false
float(-1) str('-001') false false true true true false
float(-1) str('-01') false false true true true false
int(0) float(0) false false true true true false
str("\0") float(0) false false true true true false
str('') float(0) false false true true true false
str('+') float(0) false false true true true false
str('-') float(0) false false true true true false
str('0') float(0) false false true true true false
str('false') float(0) false false true true true false
str('text') float(0) false false true true true false
str('true') float(0) false false true true true false
int(1) float(1) false false true true true false
float(1) str('001') false false true true true false
float(1) str('01') false false true true true false
float(1) str('1') false false true true true false
int(-1) str('-001') false false true true true false
int(-1) str('-01') false false true true true false
str("\0") int(0) false false true true true false
str('') int(0) false false true true true false
str('+') int(0) false false true true true false
str('-') int(0) false false true true true false
int(0) str('0') false false true true true false
str('false') int(0) false false true true true false
str('text') int(0) false false true true true false
str('true') int(0) false false true true true false
int(1) str('001') false false true true true false
int(1) str('01') false false true true true false
int(1) str('1') false false true true true false
str('-01') str('-001') false false true true true false
str('01') str('001') false false true true true false
str('1') str('001') false false true true true false
str('1') str('01') false false true true true false
Lower and Greater at the same time?
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) str("\0") true true true true false false
float(NAN) str('') true true true true false false
float(NAN) str('+') true true true true false false
float(NAN) str('-') true true true true false false
float(NAN) str('-001') true true true true false false
float(NAN) str('-01') true true true true false false
float(NAN) str('0') true true true true false false
float(NAN) str('001') true true true true false false
float(NAN) str('01') true true true true false false
float(NAN) str('1') true true true true false false
float(NAN) str('false') true true true true false false
float(NAN) str('text') true true true true false false
float(NAN) str('true') true true true true false false
Compatible (equal and identical):
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) NULL(NULL) false false true true true true
array() array() false false true true true true
bool(false) bool(false) false false true true true true
bool(true) bool(true) false false true true true true
float(-1) float(-1) false false true true true true
float(-INF) float(-INF) false false true true true true
float(0) float(0) false false true true true true
float(1) float(1) false false true true true true
float(INF) float(INF) false false true true true true
int(-1) int(-1) false false true true true true
int(0) int(0) false false true true true true
int(1) int(1) false false true true true true
str("\0") str("\0") false false true true true true
str('') str('') false false true true true true
str('+') str('+') false false true true true true
str('-') str('-') false false true true true true
str('-001') str('-001') false false true true true true
str('-01') str('-01') false false true true true true
str('0') str('0') false false true true true true
str('001') str('001') false false true true true true
str('01') str('01') false false true true true true
str('1') str('1') false false true true true true
str('false') str('false') false false true true true true
str('text') str('text') false false true true true true
str('true') str('true') false false true true true true
Lower or Greater:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) bool(true) false true true false false false
NULL(NULL) float(-1) false true true false false false
float(-INF) NULL(NULL) true false false true false false
NULL(NULL) float(1) false true true false false false
float(INF) NULL(NULL) true false false true false false
float(NAN) NULL(NULL) true false false true false false
NULL(NULL) int(-1) false true true false false false
NULL(NULL) int(1) false true true false false false
NULL(NULL) str("\0") false true true false false false
NULL(NULL) str('+') false true true false false false
NULL(NULL) str('-') false true true false false false
NULL(NULL) str('-001') false true true false false false
NULL(NULL) str('-01') false true true false false false
NULL(NULL) str('0') false true true false false false
NULL(NULL) str('001') false true true false false false
NULL(NULL) str('01') false true true false false false
NULL(NULL) str('1') false true true false false false
NULL(NULL) str('false') false true true false false false
NULL(NULL) str('text') false true true false false false
NULL(NULL) str('true') false true true false false false
array() bool(true) false true true false false false
array() float(-1) true false false true false false
float(-INF) array() false true true false false false
array() float(0) true false false true false false
array() float(1) true false false true false false
float(INF) array() false true true false false false
float(NAN) array() false true true false false false
array() int(-1) true false false true false false
array() int(0) true false false true false false
array() int(1) true false false true false false
array() str("\0") true false false true false false
str('') array() false true true false false false
array() str('+') true false false true false false
array() str('-') true false false true false false
array() str('-001') true false false true false false
array() str('-01') true false false true false false
array() str('0') true false false true false false
array() str('001') true false false true false false
array() str('01') true false false true false false
array() str('1') true false false true false false
array() str('false') true false false true false false
array() str('text') true false false true false false
array() str('true') true false false true false false
bool(true) bool(false) true false false true false false
bool(false) float(-1) false true true false false false
float(-INF) bool(false) true false false true false false
float(1) bool(false) true false false true false false
float(INF) bool(false) true false false true false false
float(NAN) bool(false) true false false true false false
bool(false) int(-1) false true true false false false
int(1) bool(false) true false false true false false
bool(false) str("\0") false true true false false false
bool(false) str('+') false true true false false false
bool(false) str('-') false true true false false false
bool(false) str('-001') false true true false false false
bool(false) str('-01') false true true false false false
bool(false) str('001') false true true false false false
bool(false) str('01') false true true false false false
str('1') bool(false) true false false true false false
bool(false) str('false') false true true false false false
str('text') bool(false) true false false true false false
str('true') bool(false) true false false true false false
bool(true) float(0) true false false true false false
bool(true) int(0) true false false true false false
str('') bool(true) false true true false false false
bool(true) str('0') true false false true false false
float(-INF) float(-1) false true true false false false
float(0) float(-1) true false false true false false
float(1) float(-1) true false false true false false
float(INF) float(-1) true false false true false false
int(0) float(-1) true false false true false false
int(1) float(-1) true false false true false false
str("\0") float(-1) true false false true false false
str('') float(-1) true false false true false false
str('+') float(-1) true false false true false false
str('-') float(-1) true false false true false false
str('0') float(-1) true false false true false false
float(-1) str('001') false true true false false false
float(-1) str('01') false true true false false false
str('1') float(-1) true false false true false false
str('false') float(-1) true false false true false false
str('text') float(-1) true false false true false false
str('true') float(-1) true false false true false false
float(-INF) float(0) false true true false false false
float(-INF) float(1) false true true false false false
float(INF) float(-INF) true false false true false false
float(-INF) int(-1) false true true false false false
float(-INF) int(0) false true true false false false
float(-INF) int(1) false true true false false false
float(-INF) str("\0") false true true false false false
float(-INF) str('') false true true false false false
float(-INF) str('+') false true true false false false
float(-INF) str('-') false true true false false false
float(-INF) str('-001') false true true false false false
float(-INF) str('-01') false true true false false false
float(-INF) str('0') false true true false false false
float(-INF) str('001') false true true false false false
float(-INF) str('01') false true true false false false
float(-INF) str('1') false true true false false false
float(-INF) str('false') false true true false false false
float(-INF) str('text') false true true false false false
float(-INF) str('true') false true true false false false
float(1) float(0) true false false true false false
float(INF) float(0) true false false true false false
float(0) int(-1) true false false true false false
int(1) float(0) true false false true false false
float(0) str('-001') true false false true false false
float(0) str('-01') true false false true false false
float(0) str('001') false true true false false false
float(0) str('01') false true true false false false
str('1') float(0) true false false true false false
float(INF) float(1) true false false true false false
float(1) int(-1) true false false true false false
float(1) int(0) true false false true false false
float(1) str("\0") true false false true false false
str('') float(1) false true true false false false
float(1) str('+') true false false true false false
float(1) str('-') true false false true false false
float(1) str('-001') true false false true false false
float(1) str('-01') true false false true false false
float(1) str('0') true false false true false false
float(1) str('false') true false false true false false
str('text') float(1) false true true false false false
str('true') float(1) false true true false false false
float(INF) int(-1) true false false true false false
float(INF) int(0) true false false true false false
float(INF) int(1) true false false true false false
float(INF) str("\0") true false false true false false
float(INF) str('') true false false true false false
float(INF) str('+') true false false true false false
float(INF) str('-') true false false true false false
float(INF) str('-001') true false false true false false
float(INF) str('-01') true false false true false false
float(INF) str('0') true false false true false false
float(INF) str('001') true false false true false false
float(INF) str('01') true false false true false false
float(INF) str('1') true false false true false false
float(INF) str('false') true false false true false false
float(INF) str('text') true false false true false false
float(INF) str('true') true false false true false false
int(0) int(-1) true false false true false false
int(1) int(-1) true false false true false false
str("\0") int(-1) true false false true false false
str('') int(-1) true false false true false false
str('+') int(-1) true false false true false false
str('-') int(-1) true false false true false false
str('0') int(-1) true false false true false false
int(-1) str('001') false true true false false false
int(-1) str('01') false true true false false false
str('1') int(-1) true false false true false false
str('false') int(-1) true false false true false false
str('text') int(-1) true false false true false false
str('true') int(-1) true false false true false false
int(1) int(0) true false false true false false
int(0) str('-001') true false false true false false
int(0) str('-01') true false false true false false
int(0) str('001') false true true false false false
int(0) str('01') false true true false false false
str('1') int(0) true false false true false false
int(1) str("\0") true false false true false false
str('') int(1) false true true false false false
int(1) str('+') true false false true false false
int(1) str('-') true false false true false false
int(1) str('-001') true false false true false false
int(1) str('-01') true false false true false false
int(1) str('0') true false false true false false
int(1) str('false') true false false true false false
str('text') int(1) false true true false false false
str('true') int(1) false true true false false false
str('') str("\0") false true true false false false
str('+') str("\0") true false false true false false
str('-') str("\0") true false false true false false
str("\0") str('-001') false true true false false false
str("\0") str('-01') false true true false false false
str("\0") str('0') false true true false false false
str("\0") str('001') false true true false false false
str("\0") str('01') false true true false false false
str('1') str("\0") true false false true false false
str('false') str("\0") true false false true false false
str('text') str("\0") true false false true false false
str('true') str("\0") true false false true false false
str('') str('+') false true true false false false
str('') str('-') false true true false false false
str('') str('-001') false true true false false false
str('') str('-01') false true true false false false
str('') str('0') false true true false false false
str('') str('001') false true true false false false
str('') str('01') false true true false false false
str('') str('1') false true true false false false
str('') str('false') false true true false false false
str('') str('text') false true true false false false
str('') str('true') false true true false false false
str('-') str('+') true false false true false false
str('+') str('-001') false true true false false false
str('+') str('-01') false true true false false false
str('+') str('0') false true true false false false
str('+') str('001') false true true false false false
str('+') str('01') false true true false false false
str('1') str('+') true false false true false false
str('false') str('+') true false false true false false
str('text') str('+') true false false true false false
str('true') str('+') true false false true false false
str('-') str('-001') false true true false false false
str('-') str('-01') false true true false false false
str('-') str('0') false true true false false false
str('-') str('001') false true true false false false
str('-') str('01') false true true false false false
str('1') str('-') true false false true false false
str('false') str('-') true false false true false false
str('text') str('-') true false false true false false
str('true') str('-') true false false true false false
str('0') str('-001') true false false true false false
str('-001') str('001') false true true false false false
str('-001') str('01') false true true false false false
str('1') str('-001') true false false true false false
str('false') str('-001') true false false true false false
str('text') str('-001') true false false true false false
str('true') str('-001') true false false true false false
str('0') str('-01') true false false true false false
str('-01') str('001') false true true false false false
str('-01') str('01') false true true false false false
str('1') str('-01') true false false true false false
str('false') str('-01') true false false true false false
str('text') str('-01') true false false true false false
str('true') str('-01') true false false true false false
str('0') str('001') false true true false false false
str('0') str('01') false true true false false false
str('1') str('0') true false false true false false
str('false') str('0') true false false true false false
str('text') str('0') true false false true false false
str('true') str('0') true false false true false false
str('false') str('001') true false false true false false
str('text') str('001') true false false true false false
str('true') str('001') true false false true false false
str('false') str('01') true false false true false false
str('text') str('01') true false false true false false
str('true') str('01') true false false true false false
str('1') str('false') false true true false false false
str('text') str('1') true false false true false false
str('true') str('1') true false false true false false
str('text') str('false') true false false true false false
str('true') str('false') true false false true false false
str('true') str('text') true false false true false false
</pre> Output for 5.2.7 - 5.2.17 , 5.3.0 - 5.3.29 <pre>
Very strange:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
Equal but not identical:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) array() false false true true true false
NULL(NULL) bool(false) false false true true true false
NULL(NULL) float(0) false false true true true false
NULL(NULL) int(0) false false true true true false
NULL(NULL) str('') false false true true true false
array() bool(false) false false true true true false
bool(false) float(0) false false true true true false
bool(false) int(0) false false true true true false
str('') bool(false) false false true true true false
bool(false) str('0') false false true true true false
bool(true) float(-1) false false true true true false
float(-INF) bool(true) false false true true true false
bool(true) float(1) false false true true true false
float(INF) bool(true) false false true true true false
float(NAN) bool(true) false false true true true false
bool(true) int(-1) false false true true true false
bool(true) int(1) false false true true true false
bool(true) str("\0") false false true true true false
bool(true) str('+') false false true true true false
bool(true) str('-') false false true true true false
bool(true) str('-001') false false true true true false
bool(true) str('-01') false false true true true false
bool(true) str('001') false false true true true false
bool(true) str('01') false false true true true false
bool(true) str('1') false false true true true false
bool(true) str('false') false false true true true false
str('text') bool(true) false false true true true false
str('true') bool(true) false false true true true false
int(-1) float(-1) false false true true true false
float(-1) str('-001') false false true true true false
float(-1) str('-01') false false true true true false
float(-INF) float(-INF) true true true true false true
int(0) float(0) false false true true true false
str("\0") float(0) false false true true true false
str('') float(0) false false true true true false
str('+') float(0) false false true true true false
str('-') float(0) false false true true true false
str('0') float(0) false false true true true false
str('false') float(0) false false true true true false
str('text') float(0) false false true true true false
str('true') float(0) false false true true true false
int(1) float(1) false false true true true false
float(1) str('001') false false true true true false
float(1) str('01') false false true true true false
float(1) str('1') false false true true true false
float(INF) float(INF) true true true true false true
int(-1) str('-001') false false true true true false
int(-1) str('-01') false false true true true false
str("\0") int(0) false false true true true false
str('') int(0) false false true true true false
str('+') int(0) false false true true true false
str('-') int(0) false false true true true false
int(0) str('0') false false true true true false
str('false') int(0) false false true true true false
str('text') int(0) false false true true true false
str('true') int(0) false false true true true false
int(1) str('001') false false true true true false
int(1) str('01') false false true true true false
int(1) str('1') false false true true true false
str('-01') str('-001') false false true true true false
str('01') str('001') false false true true true false
str('1') str('001') false false true true true false
str('1') str('01') false false true true true false
Lower and Greater at the same time?
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
float(NAN) float(-1) true true true true false false
float(NAN) float(-INF) true true true true false false
float(NAN) float(0) true true true true false false
float(NAN) float(1) true true true true false false
float(NAN) float(INF) true true true true false false
float(NAN) float(NAN) true true true true false false
float(NAN) int(-1) true true true true false false
float(NAN) int(0) true true true true false false
float(NAN) int(1) true true true true false false
float(NAN) str("\0") true true true true false false
float(NAN) str('') true true true true false false
float(NAN) str('+') true true true true false false
float(NAN) str('-') true true true true false false
float(NAN) str('-001') true true true true false false
float(NAN) str('-01') true true true true false false
float(NAN) str('0') true true true true false false
float(NAN) str('001') true true true true false false
float(NAN) str('01') true true true true false false
float(NAN) str('1') true true true true false false
float(NAN) str('false') true true true true false false
float(NAN) str('text') true true true true false false
float(NAN) str('true') true true true true false false
Compatible (equal and identical):
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) NULL(NULL) false false true true true true
array() array() false false true true true true
bool(false) bool(false) false false true true true true
bool(true) bool(true) false false true true true true
float(-1) float(-1) false false true true true true
float(0) float(0) false false true true true true
float(1) float(1) false false true true true true
int(-1) int(-1) false false true true true true
int(0) int(0) false false true true true true
int(1) int(1) false false true true true true
str("\0") str("\0") false false true true true true
str('') str('') false false true true true true
str('+') str('+') false false true true true true
str('-') str('-') false false true true true true
str('-001') str('-001') false false true true true true
str('-01') str('-01') false false true true true true
str('0') str('0') false false true true true true
str('001') str('001') false false true true true true
str('01') str('01') false false true true true true
str('1') str('1') false false true true true true
str('false') str('false') false false true true true true
str('text') str('text') false false true true true true
str('true') str('true') false false true true true true
Lower or Greater:
$a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b
NULL(NULL) bool(true) false true true false false false
NULL(NULL) float(-1) false true true false false false
float(-INF) NULL(NULL) true false false true false false
NULL(NULL) float(1) false true true false false false
float(INF) NULL(NULL) true false false true false false
float(NAN) NULL(NULL) true false false true false false
NULL(NULL) int(-1) false true true false false false
NULL(NULL) int(1) false true true false false false
NULL(NULL) str("\0") false true true false false false
NULL(NULL) str('+') false true true false false false
NULL(NULL) str('-') false true true false false false
NULL(NULL) str('-001') false true true false false false
NULL(NULL) str('-01') false true true false false false
NULL(NULL) str('0') false true true false false false
NULL(NULL) str('001') false true true false false false
NULL(NULL) str('01') false true true false false false
NULL(NULL) str('1') false true true false false false
NULL(NULL) str('false') false true true false false false
NULL(NULL) str('text') false true true false false false
NULL(NULL) str('true') false true true false false false
array() bool(true) false true true false false false
array() float(-1) true false false true false false
float(-INF) array() false true true false false false
array() float(0) true false false true false false
array() float(1) true false false true false false
float(INF) array() false true true false false false
float(NAN) array() false true true false false false
array() int(-1) true false false true false false
array() int(0) true false false true false false
array() int(1) true false false true false false
array() str("\0") true false false true false false
str('') array() false true true false false false
array() str('+') true false false true false false
array() str('-') true false false true false false
array() str('-001') true false false true false false
array() str('-01') true false false true false false
array() str('0') true false false true false false
array() str('001') true false false true false false
array() str('01') true false false true false false
array() str('1') true false false true false false
array() str('false') true false false true false false
array() str('text') true false false true false false
array() str('true') true false false true false false
bool(true) bool(false) true false false true false false
bool(false) float(-1) false true true false false false
float(-INF) bool(false) true false false true false false
float(1) bool(false) true false false true false false
float(INF) bool(false) true false false true false false
float(NAN) bool(false) true false false true false false
bool(false) int(-1) false true true false false false
int(1) bool(false) true false false true false false
bool(false) str("\0") false true true false false false
bool(false) str('+') false true true false false false
bool(false) str('-') false true true false false false
bool(false) str('-001') false true true false false false
bool(false) str('-01') false true true false false false
bool(false) str('001') false true true false false false
bool(false) str('01') false true true false false false
str('1') bool(false) true false false true false false
bool(false) str('false') false true true false false false
str('text') bool(false) true false false true false false
str('true') bool(false) true false false true false false
bool(true) float(0) true false false true false false
bool(true) int(0) true false false true false false
str('') bool(true) false true true false false false
bool(true) str('0') true false false true false false
float(-INF) float(-1) false true true false false false
float(0) float(-1) true false false true false false
float(1) float(-1) true false false true false false
float(INF) float(-1) true false false true false false
int(0) float(-1) true false false true false false
int(1) float(-1) true false false true false false
str("\0") float(-1) true false false true false false
str('') float(-1) true false false true false false
str('+') float(-1) true false false true false false
str('-') float(-1) true false false true false false
str('0') float(-1) true false false true false false
float(-1) str('001') false true true false false false
float(-1) str('01') false true true false false false
str('1') float(-1) true false false true false false
str('false') float(-1) true false false true false false
str('text') float(-1) true false false true false false
str('true') float(-1) true false false true false false
float(-INF) float(0) false true true false false false
float(-INF) float(1) false true true false false false
float(INF) float(-INF) true false false true false false
float(-INF) int(-1) false true true false false false
float(-INF) int(0) false true true false false false
float(-INF) int(1) false true true false false false
float(-INF) str("\0") false true true false false false
float(-INF) str('') false true true false false false
float(-INF) str('+') false true true false false false
float(-INF) str('-') false true true false false false
float(-INF) str('-001') false true true false false false
float(-INF) str('-01') false true true false false false
float(-INF) str('0') false true true false false false
float(-INF) str('001') false true true false false false
float(-INF) str('01') false true true false false false
float(-INF) str('1') false true true false false false
float(-INF) str('false') false true true false false false
float(-INF) str('text') false true true false false false
float(-INF) str('true') false true true false false false
float(1) float(0) true false false true false false
float(INF) float(0) true false false true false false
float(0) int(-1) true false false true false false
int(1) float(0) true false false true false false
float(0) str('-001') true false false true false false
float(0) str('-01') true false false true false false
float(0) str('001') false true true false false false
float(0) str('01') false true true false false false
str('1') float(0) true false false true false false
float(INF) float(1) true false false true false false
float(1) int(-1) true false false true false false
float(1) int(0) true false false true false false
float(1) str("\0") true false false true false false
str('') float(1) false true true false false false
float(1) str('+') true false false true false false
float(1) str('-') true false false true false false
float(1) str('-001') true false false true false false
float(1) str('-01') true false false true false false
float(1) str('0') true false false true false false
float(1) str('false') true false false true false false
str('text') float(1) false true true false false false
str('true') float(1) false true true false false false
float(INF) int(-1) true false false true false false
float(INF) int(0) true false false true false false
float(INF) int(1) true false false true false false
float(INF) str("\0") true false false true false false
float(INF) str('') true false false true false false
float(INF) str('+') true false false true false false
float(INF) str('-') true false false true false false
float(INF) str('-001') true false false true false false
float(INF) str('-01') true false false true false false
float(INF) str('0') true false false true false false
float(INF) str('001') true false false true false false
float(INF) str('01') true false false true false false
float(INF) str('1') true false false true false false
float(INF) str('false') true false false true false false
float(INF) str('text') true false false true false false
float(INF) str('true') true false false true false false
int(0) int(-1) true false false true false false
int(1) int(-1) true false false true false false
str("\0") int(-1) true false false true false false
str('') int(-1) true false false true false false
str('+') int(-1) true false false true false false
str('-') int(-1) true false false true false false
str('0') int(-1) true false false true false false
int(-1) str('001') false true true false false false
int(-1) str('01') false true true false false false
str('1') int(-1) true false false true false false
str('false') int(-1) true false false true false false
str('text') int(-1) true false false true false false
str('true') int(-1) true false false true false false
int(1) int(0) true false false true false false
int(0) str('-001') true false false true false false
int(0) str('-01') true false false true false false
int(0) str('001') false true true false false false
int(0) str('01') false true true false false false
str('1') int(0) true false false true false false
int(1) str("\0") true false false true false false
str('') int(1) false true true false false false
int(1) str('+') true false false true false false
int(1) str('-') true false false true false false
int(1) str('-001') true false false true false false
int(1) str('-01') true false false true false false
int(1) str('0') true false false true false false
int(1) str('false') true false false true false false
str('text') int(1) false true true false false false
str('true') int(1) false true true false false false
str('') str("\0") false true true false false false
str('+') str("\0") true false false true false false
str('-') str("\0") true false false true false false
str("\0") str('-001') false true true false false false
str("\0") str('-01') false true true false false false
str("\0") str('0') false true true false false false
str("\0") str('001') false true true false false false
str("\0") str('01') false true true false false false
str('1') str("\0") true false false true false false
str('false') str("\0") true false false true false false
str('text') str("\0") true false false true false false
str('true') str("\0") true false false true false false
str('') str('+') false true true false false false
str('') str('-') false true true false false false
str('') str('-001') false true true false false false
str('') str('-01') false true true false false false
str('') str('0') false true true false false false
str('') str('001') false true true false false false
str('') str('01') false true true false false false
str('') str('1') false true true false false false
str('') str('false') false true true false false false
str('') str('text') false true true false false false
str('') str('true') false true true false false false
str('-') str('+') true false false true false false
str('+') str('-001') false true true false false false
str('+') str('-01') false true true false false false
str('+') str('0') false true true false false false
str('+') str('001') false true true false false false
str('+') str('01') false true true false false false
str('1') str('+') true false false true false false
str('false') str('+') true false false true false false
str('text') str('+') true false false true false false
str('true') str('+') true false false true false false
str('-') str('-001') false true true false false false
str('-') str('-01') false true true false false false
str('-') str('0') false true true false false false
str('-') str('001') false true true false false false
str('-') str('01') false true true false false false
str('1') str('-') true false false true false false
str('false') str('-') true false false true false false
str('text') str('-') true false false true false false
str('true') str('-') true false false true false false
str('0') str('-001') true false false true false false
str('-001') str('001') false true true false false false
str('-001') str('01') false true true false false false
str('1') str('-001') true false false true false false
str('false') str('-001') true false false true false false
str('text') str('-001') true false false true false false
str('true') str('-001') true false false true false false
str('0') str('-01') true false false true false false
str('-01') str('001') false true true false false false
str('-01') str('01') false true true false false false
str('1') str('-01') true false false true false false
str('false') str('-01') true false false true false false
str('text') str('-01') true false false true false false
str('true') str('-01') true false false true false false
str('0') str('001') false true true false false false
str('0') str('01') false true true false false false
str('1') str('0') true false false true false false
str('false') str('0') true false false true false false
str('text') str('0') true false false true false false
str('true') str('0') true false false true false false
str('false') str('001') true false false true false false
str('text') str('001') true false false true false false
str('true') str('001') true false false true false false
str('false') str('01') true false false true false false
str('text') str('01') true false false true false false
str('true') str('01') true false false true false false
str('1') str('false') false true true false false false
str('text') str('1') true false false true false false
str('true') str('1') true false false true false false
str('text') str('false') true false false true false false
str('true') str('false') true false false true false false
str('true') str('text') true false false true false false
</pre> preferences:dark mode live preview
236.77 ms | 639 KiB | 6 Q