当您想转换数据类型时,使用!!
或运算符之间有什么区别吗?(bool)
$number = 1;
var_dump( (bool) $number ) //true
var_dump( !! $number ) //true
(bool)
,正如meagar在评论中提到的,在语义上更有意义。另外,请记住(bool)
执行一项操作,同时!!
执行两项操作(双重否定)。性能上的差异几乎无法察觉,但如果大量使用,它可能会加起来。
使用 '!!' 让你双重否定这个句子。当您使用 ! 这样做时,PHP 会自动将变量转换为布尔值,并且由于您正在否定否定,因此变量的值将保持不变。因此,使用 '(bool)' 或 '!!' 转换变量 基本上是一样的效果。