mirror of
https://github.com/php/php-src.git
synced 2026-03-24 16:22:37 +01:00
This deprecates passing null to non-nullable scale arguments of internal functions, with the eventual goal of making the behavior consistent with userland functions, where null is never accepted for non-nullable arguments. This change is expected to cause quite a lot of fallout. In most cases, calling code should be adjusted to avoid passing null. In some cases, PHP should be adjusted to make some function arguments nullable. I have already fixed a number of functions before landing this, but feel free to file a bug if you encounter a function that doesn't accept null, but probably should. (The rule of thumb for this to be applicable is that the function must have special behavior for 0 or "", which is distinct from the natural behavior of the parameter.) RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg Closes GH-6475.
47 lines
864 B
PHP
47 lines
864 B
PHP
--TEST--
|
|
Test abs() function : basic functionality
|
|
--INI--
|
|
precision = 14
|
|
--FILE--
|
|
<?php
|
|
echo "*** Testing abs() : basic functionality ***\n";
|
|
|
|
$values = array(23,
|
|
-23,
|
|
2.345e1,
|
|
-2.345e1,
|
|
0x17,
|
|
027,
|
|
"23",
|
|
"-23",
|
|
"23.45",
|
|
"2.345e1",
|
|
"-2.345e1",
|
|
null,
|
|
true,
|
|
false);
|
|
|
|
for ($i = 0; $i < count($values); $i++) {
|
|
$res = abs($values[$i]);
|
|
var_dump($res);
|
|
}
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing abs() : basic functionality ***
|
|
int(23)
|
|
int(23)
|
|
float(23.45)
|
|
float(23.45)
|
|
int(23)
|
|
int(23)
|
|
int(23)
|
|
int(23)
|
|
float(23.45)
|
|
float(23.45)
|
|
float(23.45)
|
|
|
|
Deprecated: abs(): Passing null to parameter #1 ($num) of type int|float is deprecated in %s on line %d
|
|
int(0)
|
|
int(1)
|
|
int(0)
|