3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $a = '0e123'; var_dump($a == 0); var_dump($a == "0"); var_dump($a == 0x0); var_dump($a == true); var_dump($a === " $a"); var_dump($a != ' '); var_dump($a != ''); var_dump($a == " "); var_dump($a == ' '); echo trim($a) ? 'X' : 'O'; echo empty($a) ? 'X' : 'O'; echo !empty($a) ? 'X' : 'O'; echo -$a ? 'X' : 'O'; echo "\n"; $test = !$a; var_dump($a == $test); var_dump($a > $a); var_dump($a < $a); var_dump($a >= $a); var_dump($a <= $a); echo "\n"; var_dump($a == '0x1'); var_dump($a == '0xE'); var_dump($a == '0xF'); var_dump($a == '0xG'); echo "\n"; var_dump($a == '0xe'); var_dump($a == '0xe0'); var_dump($a == '0x0e'); var_dump($a == ('0' . 'x0e'));
based on sQEWm
Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.2, 5.2.1 - 7.2.0
bool(true) bool(true) bool(true) bool(true) bool(false) bool(true) bool(true) bool(false) bool(false) XOXO bool(false) bool(false) bool(false) bool(true) bool(true) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false)
Output for 4.3.10 - 4.4.9, 5.0.3 - 5.2.0
bool(true) bool(true) bool(true) bool(true) bool(false) bool(true) bool(true) bool(false) bool(false) XOXO bool(false) bool(false) bool(false) bool(true) bool(true) bool(true) bool(true) bool(true) bool(false) bool(true) bool(true) bool(true) bool(true)