<?php
function foo($v) {
if (!is_numeric($v)) {
invalidArgument(__FUNCTION__, 'numeric', 1, gettype($v));
}
echo $v;
}
function invalidArgument($func, $type, $argN, $argT)
{
$db = debug_backtrace();
user_error(
sprintf(
"Argument %d passed to %s() must be a valid %s, %s given in %s on line %d",
$argN,
$func,
$type,
$argT,
$db[1]['file'],
$db[1]['line']
),
E_USER_ERROR
);
}
foo("9999999999999999999999999999999");
foo("abc");
9999999999999999999999999999999
Deprecated: Passing E_USER_ERROR to trigger_error() is deprecated since 8.4, throw an exception or call exit with a string message instead in /in/r0qO0 on line 12
Fatal error: Argument 1 passed to foo() must be a valid numeric, string given in /in/r0qO0 on line 27 in /in/r0qO0 on line 12
Process exited with code 255.
Output for 8.2.0 - 8.2.26, 8.3.0 - 8.3.14
9999999999999999999999999999999
Fatal error: Argument 1 passed to foo() must be a valid numeric, string given in /in/r0qO0 on line 27 in /in/r0qO0 on line 12
Process exited with code 255.
9999999999999999999999999999999
Fatal error: Argument 1 passed to foo() must be a valid numeric, string given in /in/r0qO0 on line 27 in /in/r0qO0 on line 22
Process exited with code 255.
9999999999999999999999999999999
Fatal error: Argument 1 passed to foo() must be a valid numeric, string given in /in/r0qO0 on line 27 in /in/r0qO0 on line 23
Process exited with code 255.
Output for 4.3.0 - 4.3.1
9999999999999999999999999999999
Fatal error: Argument 1 passed to foo() must be a valid numeric, string given in /in/r0qO0 on line 27 in /in/r0qO0 on line 23