PHP: Cast to Float

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)
PHP

Output:

float(0)
Plaintext

Boolean to Float

<?php

var_dump((float) true);  // Output: float(1)
var_dump((float) false); // Output: float(0)
PHP

Output:

float(1)
float(0)
Plaintext

Integer to Float

<?php

var_dump((float) 123);   // Output: float(123)
var_dump((float) -456);  // Output: float(-456)
var_dump((float) 0);     // Output: float(0)
PHP

Output:

float(123)
float(-456)
float(0)
Plaintext

String 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)
PHP

Output:

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)
Plaintext

Array to Float

<?php

var_dump((float) []);           // Output: float(0)
var_dump((float) [1, 2, 3]);    // Output: float(1)
PHP

Output:

float(0)
float(1)
Plaintext

Object to Float

<?php

class BigBoxCls {

}

$obj = new BigBoxCls();
var_dump((float) $obj);
PHP

Output:

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)
PHP

Output:

float(123.45)
Plaintext

JSON 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('{}'));
PHP

Output:

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)
Plaintext

Resource to Float

<?php

$handle = fopen("sample.txt", "r");

var_dump((float) $handle);
PHP

Output:

float(5)
Plaintext

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.