PHP 中的双不 (!!) 运算符
双精度不运算符在 PHP 中有什么作用?
例如:
return !! $row;
上面的代码会做什么?
双精度不运算符在 PHP 中有什么作用?
例如:
return !! $row;
上面的代码会做什么?
它不是“双不运算符”,而是两次应用的非运算符。右将生成布尔值,而不考虑操作数。然后左派将否定该布尔值。!
!
这意味着对于任何真值(除零以外的数字,非空字符串和数组等),您将获得布尔值 ,对于任何假值(0,0.0,,空字符串或空数组),您将获得布尔值。TRUE
NULL
FALSE
它在功能上等效于强制转换为 :boolean
return (bool)$row;
它与铸造到布尔人相同(或几乎相同 - 可能有一些角落情况)。如果将转换为 true,那么也是 true。$row
!! $row
但是,如果你想实现,你可能应该只使用它 - 而不是一些“有趣”的表达;)(bool) $row