0

只是想知道这个表达式是否有一个简短的版本:

if(!empty($var) && $var == 'FOO')
{
 // Do things
}

它检查是否$var IS DEFINEDNOT FALSE和。只有满足这些要求,条件的第二部分才会启动并检查 if 。NOT NULLNOT 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。由于 string - 'FOO'> IS DEFINED, NOT FALSE,它将输出. 意义只根据它的外表来判断,而不是根据里面的东西来判断。在我的情况下不会工作。NOT NULLNOT EQUAL TO ZEROBLAH!empty($var)=='FOO'$var

有任何想法吗?

4

1 回答 1

0

您可以实现自己的功能来做到这一点。

if (myFunction($var, 'foo')) ...

函数看起来像:

public function myFunction($var, $expectedVar) {
// check if empty and equal
}
于 2013-04-12T14:43:44.573 回答