Typecasting vs function to convert variable type in PHP
Is there any difference between typecasting and using a function to convert a variable to some type?
(float)$var
VS. floatval($var)
If there are, when one of those should be used instead of the other?
Solution 1:
There's no difference in the resulting value, just:
-
(float)
is a language feature and very quick -
floatval()
incurs the overhead of a function call (minimal, but nonetheless...) -
floatval()
as a function can be used in ways that(float)
cannot, e.g.array_map('floatval', $foo)
The last point is, I believe, the main reason for floatval
's existence: so each casting operation has a function equivalent, which can be useful in some circumstances.