3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo '<table border="1">'; echo '<tr><th>Value of variable ($var)</th><th>isset($var)</th><th>empty($var)</th><th>is_null($var)</th></tr>'; $var = ''; echo '<tr><td>"" (an empty string)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = ' '; echo '<tr><td>" " (space)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = FALSE; echo '<tr><td>FALSE</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = TRUE; echo '<tr><td>TRUE</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = array(); echo '<tr><td>array() (an empty array)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = NULL; echo '<tr><td>NULL</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = '0'; echo '<tr><td>"0" (0 as a string)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = 0; echo '<tr><td>0 (0 as an integer)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = 0.0; echo '<tr><td>0.0 (0 as a float)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; unset($var); // doing this just as a precaution, to make sure $var is actually not defined. $var; echo '<tr><td>var $var; (a variable declared, but without a value)</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; $var = '\0'; echo '<tr><td>NULL byte ("\ 0")</td><td>'; var_dump(isset($var)); echo '</td><td>'; var_dump(empty($var)); echo '</td><td>'; var_dump(is_null($var)); echo '</td></tr>'; echo '</table>';
Output for git.master, git.master_jit, rfc.property-hooks
<table border="1"><tr><th>Value of variable ($var)</th><th>isset($var)</th><th>empty($var)</th><th>is_null($var)</th></tr><tr><td>"" (an empty string)</td><td>bool(true) </td><td>bool(true) </td><td>bool(false) </td></tr><tr><td>" " (space)</td><td>bool(true) </td><td>bool(false) </td><td>bool(false) </td></tr><tr><td>FALSE</td><td>bool(true) </td><td>bool(true) </td><td>bool(false) </td></tr><tr><td>TRUE</td><td>bool(true) </td><td>bool(false) </td><td>bool(false) </td></tr><tr><td>array() (an empty array)</td><td>bool(true) </td><td>bool(true) </td><td>bool(false) </td></tr><tr><td>NULL</td><td>bool(false) </td><td>bool(true) </td><td>bool(true) </td></tr><tr><td>"0" (0 as a string)</td><td>bool(true) </td><td>bool(true) </td><td>bool(false) </td></tr><tr><td>0 (0 as an integer)</td><td>bool(true) </td><td>bool(true) </td><td>bool(false) </td></tr><tr><td>0.0 (0 as a float)</td><td>bool(true) </td><td>bool(true) </td><td>bool(false) </td></tr><tr><td>var $var; (a variable declared, but without a value)</td><td>bool(false) </td><td>bool(true) </td><td> Warning: Undefined variable $var in /in/QWKXE on line 92 bool(true) </td></tr><tr><td>NULL byte ("\ 0")</td><td>bool(true) </td><td>bool(false) </td><td>bool(false) </td></tr></table>

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
50.54 ms | 403 KiB | 8 Q