3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Foo\Bar { class a {} class b {} function a() { var_dump(__FUNCTION__); } function b() { var_dump(__FUNCTION__); } const a = 1; const b = 2; } namespace PrePhp7 { use Foo\Bar\a; use Foo\Bar\b; use function Foo\Bar\a; use function Foo\Bar\b; use const Foo\Bar\a; use const Foo\Bar\b; echo "\n" . __NAMESPACE__ . "\n"; var_dump(new a()); var_dump(new b()); a(); b(); var_dump(a); var_dump(b); } namespace Php7 { use Foo\Bar\{a, b}; use function Foo\Bar\{a, b}; use const Foo\Bar\{a, b}; echo "\n" . __NAMESPACE__ . "\n"; var_dump(new a()); var_dump(new b()); a(); b(); var_dump(a); var_dump(b); } namespace Php7Mixed { use Foo\Bar\{a, b, function a, function b, const a, const b}; echo "\n" . __NAMESPACE__ . "\n"; var_dump(new a()); var_dump(new b()); a(); b(); var_dump(a); var_dump(b); }
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 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.4, 8.3.6
PrePhp7 object(Foo\Bar\a)#1 (0) { } object(Foo\Bar\b)#1 (0) { } string(9) "Foo\Bar\a" string(9) "Foo\Bar\b" int(1) int(2) Php7 object(Foo\Bar\a)#1 (0) { } object(Foo\Bar\b)#1 (0) { } string(9) "Foo\Bar\a" string(9) "Foo\Bar\b" int(1) int(2) Php7Mixed object(Foo\Bar\a)#1 (0) { } object(Foo\Bar\b)#1 (0) { } string(9) "Foo\Bar\a" string(9) "Foo\Bar\b" int(1) int(2)
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 PrePhp7 object(Foo\Bar\a)#1 (0) { } object(Foo\Bar\b)#1 (0) { } string(9) "Foo\Bar\a" string(9) "Foo\Bar\b" int(1) int(2) Php7 object(Foo\Bar\a)#1 (0) { } object(Foo\Bar\b)#1 (0) { } string(9) "Foo\Bar\a" string(9) "Foo\Bar\b" int(1) int(2) Php7Mixed object(Foo\Bar\a)#1 (0) { } object(Foo\Bar\b)#1 (0) { } string(9) "Foo\Bar\a" string(9) "Foo\Bar\b" int(1) int(2)

preferences:
155.49 ms | 402 KiB | 173 Q