1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
--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
|