首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Double not (!!)PHP中的操作符

Double not (!!)PHP中的操作符
EN

Stack Overflow用户
提问于 2010-01-24 21:51:46
回答 3查看 46.2K关注 0票数 204

double not操作符在PHP中做什么?

例如:

代码语言:javascript
复制
return !! $row;

上面的代码会做什么呢?

EN

回答 3

Stack Overflow用户

发布于 2010-01-24 21:53:29

它与casting bool相同(或者几乎相同-可能有一些边框情况)。如果$row将强制转换为true,则!! $row也为true。

但是如果你想实现(bool) $row,你可能就应该使用这个--而不是一些“有趣”的表达式;)

票数 53
EN

Stack Overflow用户

发布于 2010-01-24 21:53:30

这意味着如果$row有一个truthy值,它将返回true,否则返回false,并转换为布尔值。

下面是从php文档转换为布尔表达式的示例。

代码语言:javascript
复制
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
票数 19
EN

Stack Overflow用户

发布于 2011-11-29 08:27:44

在许多语言中,"not not“是一种理解语言赋予任何表达式结果的真值的便捷方法。例如,在Python

代码语言:javascript
复制
>>> not not []
False
>>> not not [False]
True

如果您想要将一个复杂的值简化为类似于“到底有没有值?”这样的值,这可能会很方便。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2127260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档