!! $ var和(bool)$ var之间有什么区别吗?

Ari*_*ona 6 php casting

当您想要转换数据类型时,使用!!(bool)运算符之间是否有任何区别?

    $number = 1;

    var_dump( (bool) $number ) //true
    var_dump( !! $number ) //true
Run Code Online (Sandbox Code Playgroud)

the*_*ion 7

(bool)正如meagar在评论中提到的那样,在语义上更有意义.另外,请记住(bool)执行一个操作,而!!执行两个操作(双重否定).性能差异几乎检测不到,但如果大量使用,可能会增加.