3v4l.org

run code in 300+ PHP versions simultaneously
<?php // overriding an untyped parent constant with a typed one class A { public const VALUE = 42; // untyped } class B extends A { public const float VALUE = 42.5; // narrowing to `float` } echo "Parent type: " . gettype(A::VALUE) . "\n"; echo "Child value: " . B::VALUE . "\n";
Output for 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
Parent type: integer Child value: 42.5
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.2.0 - 8.2.29
Parse error: syntax error, unexpected identifier "VALUE", expecting "=" in /in/MUm1l on line 10
Process exited with code 255.

preferences:
67.11 ms | 408 KiB | 5 Q