Let’s cast all data types to float, and see what we get as output-
NULL to Float
<?php
var_dump((float) null); // Output: float(0)
PHPOutput:
float(0)
PlaintextBoolean to Float
<?php
var_dump((float) true); // Output: float(1)
var_dump((float) false); // Output: float(0)
PHPOutput:
float(1)
float(0)
PlaintextInteger to Float
<?php
var_dump((float) 123); // Output: float(123)
var_dump((float) -456); // Output: float(-456)
var_dump((float) 0); // Output: float(0)
PHPOutput:
float(123)
float(-456)
float(0)
PlaintextString to Float
<?php
var_dump((float) "123.45"); // Output: float(123.45)
var_dump((float) "0.99"); // Output: float(0.99)
var_dump((float) "-567.89"); // Output: float(-567.89)
var_dump((float) "100"); // Output: float(100)
var_dump((float) "42abc"); // Output: float(42)
var_dump((float) "abc42"); // Output: float(0)
var_dump((float) " 33.5 "); // Output: float(33.5)
var_dump((float) ""); // Output: float(0)
var_dump((float) " "); // Output: float(0)
var_dump((float) "INF"); // Output: float(INF)
var_dump((float) "-INF"); // Output: float(-INF)
var_dump((float) "NaN"); // Output: float(NAN)
PHPOutput:
float(123.45)
float(0.99)
float(-567.89)
float(100)
float(42)
float(0)
float(33.5)
float(0)
float(0)
float(0)
float(0)
float(0)
PlaintextArray to Float
<?php
var_dump((float) []); // Output: float(0)
var_dump((float) [1, 2, 3]); // Output: float(1)
PHPOutput:
float(0)
float(1)
PlaintextObject to Float
<?php
class BigBoxCls {
}
$obj = new BigBoxCls();
var_dump((float) $obj);
PHPOutput:
Warning: Object of class BigBoxCls could not be converted to float in /mnt/c/project/test/php1/data_type.php on line 10
float(1)
Plaintext<?php
class BigBoxCls
{
public function __toString()
{
return "123.45";
}
}
$obj = new BigBoxCls();
var_dump((float) (string)$obj); // Output: float(123.45)
PHPOutput:
float(123.45)
PlaintextJSON to Float
<?php
var_dump((float) json_decode('12.34')); // Output: float(12.34)
var_dump((float) json_decode('123')); // Output: float(123)
var_dump((float) json_decode('true')); // Output: float(1)
var_dump((float) json_decode('false')); // Output: float(0)
var_dump((float) json_decode('null')); // Output: float(0)
var_dump((float) json_decode('"567.89"')); // Output: float(567.89)
var_dump((float) json_decode('"abc"')); // Output: float(0)
var_dump((float) json_decode('[1,2,3]')); // Output: float(1)
var_dump((float) json_decode('{}'));
PHPOutput:
float(12.34)
float(123)
float(1)
float(0)
float(0)
float(567.89)
float(0)
float(1)
Warning: Object of class stdClass could not be converted to float in /mnt/c/project/test/php1/data_type.php on line 11
float(1)
PlaintextResource to Float
<?php
$handle = fopen("sample.txt", "r");
var_dump((float) $handle);
PHPOutput:
float(5)
Plaintext