类型转换与函数在 PHP 中转换变量类型

2021-12-31 00:00:00 casting 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?

推荐答案

结果值没有区别,只是:

There's no difference in the resulting value, just:

  • (float) 是一种语言特性,速度非常快
  • floatval() 导致函数调用的开销(最小,但仍然......)
  • floatval() 作为函数可以以 (float) 不能的方式使用,例如array_map('floatval', $foo)
  • (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)

最后一点,我认为是 floatval 存在的主要原因:所以每个转换操作都有一个等价的函数,这在某些情况下很有用.

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.

相关文章