3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); echo 'Here is __DIR__ to start: ' . "\n"; var_dump(__DIR__); echo "\n"; echo 'Checking if __DIR__ is defined...' . "\n"; if (!defined('__DIR__')) { echo 'Nope, defined() returned (bool)false.' . "\n"; echo 'No prob. Executing define(\'__DIR__\', \'/foo/bar\')...' . "\n"; define('__DIR__', '/foo/bar'); echo 'Done, defined __DIR__ as "/foo/bar".' . "\n" . "\n"; echo 'Double-checking __DIR__ is defined now...' . "\n"; if (!defined('__DIR__')) { echo 'WTF, defined(\'__DIR__\') again returned (bool)false?!' . "\n"; } else{ echo 'Strike, this time defined(\'__DIR__\') returned (bool)true.' . "\n"; } } else{ echo 'Yep, defined(\'__DIR__\') returned (bool)true.' . "\n"; } echo 'Finally, here is the result of var_dump(__DIR__):' . "\n"; var_dump(__DIR__);
Output for git.master, git.master_jit, rfc.property-hooks
Here is __DIR__ to start: string(3) "/in" 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"

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:
42.07 ms | 402 KiB | 8 Q