Reputation: 5974
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?
Upvotes: 72
Views: 9333
Reputation: 522024
There's no difference in the resulting value, just:
(float)
is a language feature and very quickfloatval()
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.
Upvotes: 114