mirror of
https://github.com/php/php-src.git
synced 2024-11-23 18:04:36 +08:00
fb4554e431
We previously couldn't increase the error level here because it was coupled to comparison handling. This is no longer the case in PHP 8.
58 lines
687 B
PHP
58 lines
687 B
PHP
--TEST--
|
|
casting different variables to double
|
|
--INI--
|
|
precision=14
|
|
--FILE--
|
|
<?php
|
|
|
|
$r = fopen(__FILE__, "r");
|
|
|
|
class test {
|
|
function __toString() {
|
|
return "10";
|
|
}
|
|
}
|
|
|
|
$o = new test;
|
|
|
|
$vars = array(
|
|
"string",
|
|
"8754456",
|
|
"",
|
|
"\0",
|
|
9876545,
|
|
0.10,
|
|
array(),
|
|
array(1,2,3),
|
|
false,
|
|
true,
|
|
NULL,
|
|
$r,
|
|
$o
|
|
);
|
|
|
|
foreach ($vars as $var) {
|
|
$tmp = (double)$var;
|
|
var_dump($tmp);
|
|
}
|
|
|
|
echo "Done\n";
|
|
?>
|
|
--EXPECTF--
|
|
float(0)
|
|
float(8754456)
|
|
float(0)
|
|
float(0)
|
|
float(9876545)
|
|
float(0.1)
|
|
float(0)
|
|
float(1)
|
|
float(0)
|
|
float(1)
|
|
float(0)
|
|
float(%f)
|
|
|
|
Warning: Object of class test could not be converted to float in %s on line %d
|
|
float(1)
|
|
Done
|