3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class Foo { public $bar; } $foo = new Foo; $arr = array("", " ", FALSE, TRUE, array(), NULL, "0", 0, 0.0, new stdClass, $foo, $foo->bar, "\0"); define('PAD', 20); $headings = array('type', 'if', 'isset', 'empty', 'is_null'); foreach($headings as $heading){ echo str_pad($heading, PAD), " | "; } echo "\n"; $x = str_pad("TRUE", PAD) . " | "; $y = str_pad("", PAD) . " | "; foreach($arr as $val){ var_export($val); /* echo str_pad(print($val), PAD), " | "; echo $val ? $x : $y; echo isset($val) ? $x : $y; echo empty($val) ? $x : $y; echo is_null($val) ? $x : $y; echo "\n"; */ }
based on 2Biph
Output for 7.0.2 - 7.2.0
type | if | isset | empty | is_null | ''' 'falsetruearray ( )NULL'0'00.0stdClass::__set_state(array( ))Foo::__set_state(array( 'bar' => NULL, ))NULL'' . "\0" . ''
Output for 5.3.19 - 7.0.1
type | if | isset | empty | is_null | ''' 'falsetruearray ( )NULL'0'00stdClass::__set_state(array( ))Foo::__set_state(array( 'bar' => NULL, ))NULL'' . "\0" . ''