3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<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>

Abusive script

This script was stopped while abusing our resources

Output for 7.0.23 - 7.0.29, 7.1.9 - 7.2.4
<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.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 hhvm-3.22.0
<pre>
Process exited with code 139.
Output for hhvm-3.10.1 - 3.21.3
<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 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) 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 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.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>