变量前面的exclamaton标记是什么意思?它是如何在这段代码中使用的?
编辑:从答案到目前为止,我怀疑我还应该提到这个代码是在一个函数中,其中一个参数是$ mytype ....这是一种检查$ mytype是否通过的方法? - 感谢所有响应者到目前为止。 $myclass = null;
if ($mytype == null && ($PAGE->pagetype <> 'site-index' && $PAGE->pagetype <>'admin-index')) {
return $myclass;
}
elseif ($mytype == null && ($PAGE->pagetype == 'site-index' || $PAGE->pagetype =='admin-index')) {
$myclass = ' active_tree_node';
return $myclass;
}
elseif (!$mytype == null && ($PAGE->pagetype == 'site-index' || $PAGE->pagetype =='admin-index')) {
return $myclass;
}`
答案 0 :(得分:4)
PHP中的感叹号表示not
:
if($var)
表示{/ 1}}在
时不为空或零或为假$var
表示if(!$var)
为空或零或假。
将其视为以下行的查询:
$var
和
select someColumn where id = 3
答案 1 :(得分:3)
!
否定了它放在前面的价值。因此,您发布的代码会检查$mytype
的否定值是==
到null
。
return true; //true
return !true; //false
return false; //false
return !false; //true
return (4 > 10); //false
return !(4 < 10); //true
return true == false; //false
return !true == false; //true
return true XOR true; //false
return !true XOR true; //true
return !true XOR true; //false
答案 2 :(得分:2)
!
否定了它的值
此语句实际上与!$mytype
FALSE == NULL
相同
!$mytype == null
如果TRUE
包含以下内容之一,语句将返回$mytype
:
TRUE
答案 3 :(得分:1)
elseif (!$mytype == null && ($PAGE->pagetype == 'site-index' || $PAGE->pagetype =='admin-index')) {
return $myclass;
}
以上!$mytype == null
是错误的。 !$mytype
表示如果变量的计算结果为false或为null,则条件将执行。
但是额外的== null
是不必要的,基本上是if (false == null)
或if (null == null)
答案 4 :(得分:0)
!$variable
条件一起使用的{p> If
检查变量是Nul
l还是不
例如
if(!$var)
表示$var
为空。