只是想知道这个表达式是否有简短版本:
if(!empty($var) && $var == 'FOO')
{
// Do things
}
它会检查$var
IS DEFINED
,NOT FALSE
,NOT NULL
和NOT EQUAL TO ZERO
。只有当$var
满足这些要求时,条件的第二部分才会启动并检查是否$var == 'FOO'
。
当然,我可以这样做:if($var == 'FOO'){}
但是如果未定义$var
,则会抛出Notice
。
刚刚测试了这段代码:
$var='FOO';
if (!empty($var)=='FOO')
{
echo 'BLAH';
}
// Will output 'BLAH'
但是当BLAH
返回!empty($var)
时,它会在任何情况下输出TRUE
。由于字符串'FOO'
- > IS DEFINED
,NOT FALSE
,NOT NULL
和NOT EQUAL TO ZERO
会输出BLAH
。含义!empty($var)=='FOO'
只能通过它的外观而不是内部的判断$var
。不适用于我的情况。
有什么想法吗?
答案 0 :(得分:0)
您可以实现自己的功能。
if (myFunction($var, 'foo')) ...
功能如下:
public function myFunction($var, $expectedVar) {
// check if empty and equal
}