2016-01-07 55 views
1

同为intval/(int)floatval/(float)

至于我可以做出来,没有改变原来的变量,他们都返回铸造的版本。它们看起来功能完全相同。

是否有边界情况下存在差异?

任何理由永远使用其中一个?

最佳做法?

我假设(bool)是“更好”,因为我认为它可能比内部可能只是做同样的事情的函数调用更快。如果是这种情况,这些功能有什么意义?

回答

4

对于它们是相同的大部分,但有细微的差异:

  • intval一些函数接受的第二参数($base),该铸造语法不
  • 一个函数调用具有小更多的开销
  • 功能可以作为回调(例如array_map('intval', ..)),这是不可能与铸造语法
相关问题