double not操作符在PHP中做什么?
例如:
return !! $row;
上面的代码会做什么呢?
发布于 2010-01-24 21:53:29
它与casting bool相同(或者几乎相同-可能有一些边框情况)。如果$row
将强制转换为true,则!! $row
也为true。
但是如果你想实现(bool) $row
,你可能就应该使用这个--而不是一些“有趣”的表达式;)
发布于 2010-01-24 21:53:30
这意味着如果$row
有一个truthy值,它将返回true
,否则返回false
,并转换为布尔值。
下面是从php文档转换为布尔表达式的示例。
Expression Boolean
$x = ""; FALSE
$x = null; FALSE
var $x; FALSE
$x is undefined FALSE
$x = array(); FALSE
$x = array('a', 'b'); TRUE
$x = false; FALSE
$x = true; TRUE
$x = 1; TRUE
$x = 42; TRUE
$x = 0; FALSE
$x = -1; TRUE
$x = "1"; TRUE
$x = "0"; FALSE
$x = "-1"; TRUE
$x = "php"; TRUE
$x = "true"; TRUE
$x = "false"; TRUE
发布于 2011-11-29 08:27:44
在许多语言中,"not not“是一种理解语言赋予任何表达式结果的真值的便捷方法。例如,在Python中
>>> not not []
False
>>> not not [False]
True
如果您想要将一个复杂的值简化为类似于“到底有没有值?”这样的值,这可能会很方便。
https://stackoverflow.com/questions/2127260
复制相似问题