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 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.25, 8.4.1 - 8.4.13
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
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 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
Output for 7.1.33, 7.3.0 - 7.3.31, 7.3.33, 7.4.0 - 7.4.25, 7.4.27 - 7.4.33
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: Notice: Undefined offset: 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: Notice: Undefined offset: 1 in /in/a67Ka on line 23 NULL
Output for 7.3.32, 7.4.26
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: NULL varname: string(1) "1" in_array(keys)?: bool(true) array_key_exists?: bool(false) isset[]?: bool(false) access: NULL

preferences:
147.02 ms | 413 KiB | 5 Q