3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); echo 'Checking if __DIR__ is defined...' . PHP_EOL; if (!defined('__DIR__')) { echo 'Nope, defined() returned (bool)false.' . PHP_EOL; echo 'No prob. Executing define(\'__DIR__\', \'/foo/bar\')...' . PHP_EOL; define('__DIR__', '/foo/bar'); echo 'Done, defined __DIR__ as "/foo/bar".' . PHP_EOL . PHP_EOL; echo 'Double-checking __DIR__ is defined now...' . PHP_EOL; if (!defined('__DIR__')) { echo 'WTF, defined(\'__DIR__\') again returned (bool)false?!' . PHP_EOL; } else{ echo 'Strike, this time defined(\'__DIR__\') returned (bool)true.' . PHP_EOL; } } else{ echo 'Yep, defined(\'__DIR__\') returned (bool)true.' . PHP_EOL; } echo 'Finally, here is the result of var_dump(__DIR__):' . PHP_EOL; var_dump(__DIR__);
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Checking if __DIR__ is defined... Nope, defined() returned (bool)false. No prob. Executing define('__DIR__', '/foo/bar')... Done, defined __DIR__ as "/foo/bar". Double-checking __DIR__ is defined now... Strike, this time defined('__DIR__') returned (bool)true. Finally, here is the result of var_dump(__DIR__): string(3) "/in"
Output for 4.3.10 - 4.3.11, 4.4.0 - 4.4.9, 5.0.2 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Checking if __DIR__ is defined... Nope, defined() returned (bool)false. No prob. Executing define('__DIR__', '/foo/bar')... Done, defined __DIR__ as "/foo/bar". Double-checking __DIR__ is defined now... Strike, this time defined('__DIR__') returned (bool)true. Finally, here is the result of var_dump(__DIR__): string(8) "/foo/bar"
Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.1
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 4 Checking if __DIR__ is defined...PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 6 Nope, defined() returned (bool)false.PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 8 No prob. Executing define('__DIR__', '/foo/bar')...PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 11 Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 11 Done, defined __DIR__ as "/foo/bar".PHP_EOLPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 13 Double-checking __DIR__ is defined now...PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 18 Strike, this time defined('__DIR__') returned (bool)true.PHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/DRKND on line 24 Finally, here is the result of var_dump(__DIR__):PHP_EOLstring(8) "/foo/bar"

preferences:
216.7 ms | 404 KiB | 313 Q