对于intval
/ (int)
,floatval
/ (float)
等也是如此
据我所知,既没有改变原始变量,也都返回了铸造版本.它们看起来功能相同.
是否有边缘情况存在差异?
任何理由使用一个而不是另一个?
最佳实践?
我认为这(bool)
是"更好",因为我认为它可能比函数调用更快,内部可能只是做同样的事情.如果是这种情况,这些boolval
/ intval
/ floatval
功能有什么意义?
在大多数情况下,它们是相同的,但存在细微差别:
一些函数,比如intval
接受第二个参数($base
),而演员语法没有
函数调用有更多的开销
函数可以用作回调(例如array_map('intval', ..)
),这对于强制转换语法是不可能的