3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); function f(float $f){} f(1); // int->float: legal function i(int $i){} i(1.0); // float->int: illegal, even if the float happens to be a whole number.
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.13
Fatal error: Uncaught TypeError: i(): Argument #1 ($i) must be of type int, float given, called in /in/gS1b7 on line 6 and defined in /in/gS1b7:5 Stack trace: #0 /in/gS1b7(6): i(1.0) #1 {main} thrown in /in/gS1b7 on line 5
Process exited with code 255.
Output for 7.4.33
Fatal error: Uncaught TypeError: Argument 1 passed to i() must be of the type int, float given, called in /in/gS1b7 on line 6 and defined in /in/gS1b7:5 Stack trace: #0 /in/gS1b7(6): i(1) #1 {main} thrown in /in/gS1b7 on line 5
Process exited with code 255.

preferences:
52.06 ms | 407 KiB | 5 Q