<?php
function my_func(int $n) { var_dump($n); }
my_func('6'); // => (int) 6
my_func(3.1415); // => (int) 3
my_func(TRUE); // => (int) 1
my_func(new \stdClass()); // => Fatal error: Uncaught TypeError: Argument 1 passed to my_func() must be of the type integer, array given
my_func([]); // => Fatal error: Uncaught TypeError: Argument 1 passed to my_func() must be of the type integer, array given
my_func(NULL); // => ... null given
int(6)
Deprecated: Implicit conversion from float 3.1415 to int loses precision in /in/IjpG3 on line 2
int(3)
int(1)
Fatal error: Uncaught TypeError: my_func(): Argument #1 ($n) must be of type int, stdClass given, called in /in/IjpG3 on line 7 and defined in /in/IjpG3:2
Stack trace:
#0 /in/IjpG3(7): my_func(Object(stdClass))
#1 {main}
thrown in /in/IjpG3 on line 2
Process exited with code 255.
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
int(6)
Deprecated: Implicit conversion from float 3.1415 to int loses precision in /in/IjpG3 on line 2
int(3)
int(1)
Fatal error: Uncaught TypeError: my_func(): Argument #1 ($n) must be of type int, stdClass given, called in /in/IjpG3 on line 7 and defined in /in/IjpG3:2
Stack trace:
#0 /in/IjpG3(7): my_func(Object(stdClass))
#1 {main}
thrown in /in/IjpG3 on line 2
Process exited with code 255.
Output for 8.0.0 - 8.0.30
int(6)
int(3)
int(1)
Fatal error: Uncaught TypeError: my_func(): Argument #1 ($n) must be of type int, stdClass given, called in /in/IjpG3 on line 7 and defined in /in/IjpG3:2
Stack trace:
#0 /in/IjpG3(7): my_func(Object(stdClass))
#1 {main}
thrown in /in/IjpG3 on line 2
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
int(6)
int(3)
int(1)
Fatal error: Uncaught TypeError: Argument 1 passed to my_func() must be of the type int, object given, called in /in/IjpG3 on line 7 and defined in /in/IjpG3:2
Stack trace:
#0 /in/IjpG3(7): my_func(Object(stdClass))
#1 {main}
thrown in /in/IjpG3 on line 2
Process exited with code 255.
int(6)
int(3)
int(1)
Fatal error: Uncaught TypeError: Argument 1 passed to my_func() must be of the type integer, object given, called in /in/IjpG3 on line 7 and defined in /in/IjpG3:2
Stack trace:
#0 /in/IjpG3(7): my_func(Object(stdClass))
#1 {main}
thrown in /in/IjpG3 on line 2
Process exited with code 255.
Output for 5.6.0 - 5.6.40
Catchable fatal error: Argument 1 passed to my_func() must be an instance of int, string given, called in /in/IjpG3 on line 4 and defined in /in/IjpG3 on line 2
Process exited with code 255.