3v4l.org

run code in 300+ PHP versions simultaneously
<?php $test = function (): bool { var_dump(__FUNCTION__ . ' is called'); return true; }; define('TEST', false); var_dump('Valuate TEST constant'); if(defined('TEST') && $test()) { var_dump('Test is called'); } echo PHP_EOL; echo PHP_EOL; var_dump('Valuate DOES_NOT_EXISTS constant'); if(defined('DOES_NOT_EXISTS') && $test()) { var_dump('Should not be called'); }
Output for 8.4.1 - 8.4.12
string(21) "Valuate TEST constant" string(31) "{closure:/in/XlUp8:3} is called" string(14) "Test is called" string(32) "Valuate DOES_NOT_EXISTS constant"
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25
string(21) "Valuate TEST constant" string(19) "{closure} is called" string(14) "Test is called" string(32) "Valuate DOES_NOT_EXISTS constant"

preferences:
77.13 ms | 408 KiB | 5 Q