两个!是为了把非0值转换成1,而0值还是0。(如下表)
! | !! | |
0 |
1 | 0 |
1 | 0 | 1 |
10 | 0 | 1 |
在php持术或其他语言中我们经常会看到感叹号的用法,有一定程序语言基础的朋友都知道单个感叹号的作用是取反的意思,也就是取当前结果的反面,如:
1 2 3 4 |
<?php $a=true; var_dump(!$a); ?> |
$a原来是true取反后$a就变成false了,这种用法在程序中经常见到,但是双感叹号的用法可能就少多了.其实双感叹号也就相当于程序语言中的三元运算($a?$b:$c),如
1 2 3 4 5 6 7 8 |
<?php $a=true; if(!!$a){ echo ‘ok’; }else{ echo ‘error’; } ?> |
!!$a返回的是布尔值(true或false),有的朋友可能会问为什么要这么用,直接用常规的方法做不一样吗?其实是一样的,但是作为程序员必须宽泛的了解程序的各种写法,不致于别人写的程序自己看不懂.呵呵,个人看法!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112402.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...