3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); /** * @param array{a: float, b: float} $params */ function f(array $params): void { mapAtan($params); } /** * @param array<array-key, float> $arr * @return array<array-key, float> */ function mapAtan(array $arr): array { $ret = []; foreach ($arr as $k => $v) { $ret[$k] = atan($v); } return $ret; } f(['a' => 0.5, 'b' => 10, 'c' => new Exception()]);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Uncaught TypeError: atan(): Argument #1 ($num) must be of type float, Exception given in /in/b7XcPK:16 Stack trace: #0 /in/b7XcPK(16): atan(Object(Exception)) #1 /in/b7XcPK(6): mapAtan(Array) #2 /in/b7XcPK(21): f(Array) #3 {main} thrown in /in/b7XcPK on line 16
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Fatal error: Uncaught TypeError: atan() expects parameter 1 to be float, object given in /in/b7XcPK:16 Stack trace: #0 /in/b7XcPK(16): atan(Object(Exception)) #1 /in/b7XcPK(6): mapAtan(Array) #2 /in/b7XcPK(21): f(Array) #3 {main} thrown in /in/b7XcPK on line 16
Process exited with code 255.

preferences:
121.21 ms | 401 KiB | 121 Q