3v4l.org

run code in 300+ PHP versions simultaneously
<?php (function () { ${42} = 42; ${true} = true; $original = get_defined_vars(); $combined = array_combine(array_keys($original), array_values($original)); echo 'original: '; var_dump($original); echo 'combined: '; var_dump($combined); echo "\n"; echo 'original keys: '; var_dump(array_keys($original)); echo 'combined keys: '; var_dump(array_keys($combined)); echo "\n"; echo 'key-intersection: '; var_dump(array_intersect_key($original, $combined)); echo "\n"; foreach ($original as $varname => $_) { echo 'varname: '; var_dump($varname); echo 'in_array(keys)?: '; var_dump(in_array($varname, array_keys($original), true)); echo 'array_key_exists?: '; var_dump(array_key_exists($varname, $original)); echo 'isset[]?: '; var_dump(isset($original[$varname])); echo 'access: '; var_dump($original[$varname]); echo "\n"; } })();
Output for git.master, git.master_jit, rfc.property-hooks
original: array(2) { ["42"]=> int(42) ["1"]=> bool(true) } combined: array(2) { [42]=> int(42) [1]=> bool(true) } original keys: array(2) { [0]=> string(2) "42" [1]=> string(1) "1" } combined keys: array(2) { [0]=> int(42) [1]=> int(1) } key-intersection: array(0) { } varname: string(2) "42" in_array(keys)?: bool(true) array_key_exists?: bool(false) isset[]?: bool(false) access: Warning: Undefined array key 42 in /in/a67Ka on line 23 NULL varname: string(1) "1" in_array(keys)?: bool(true) array_key_exists?: bool(false) isset[]?: bool(false) access: Warning: Undefined array key 1 in /in/a67Ka on line 23 NULL

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:
136.47 ms | 407 KiB | 5 Q