在PHP if语句中将`0`识别为true

时间:2013-12-10 13:45:56

标签: php wordpress

Wordpress中有一个函数(has_filter)返回falseinteger

我想在if语句中将0识别为true,所以我写的是这样的。

if(!(false === has_filter( $tag, $function_to_check )))
{ 
    echo "true!"; 
}

但我认为这段代码有点复杂。是否有更好的方式来写这样的情况?

我在wordpress.stackexange.com上问这个问题,因为它是关于php本身的。

3 个答案:

答案 0 :(得分:2)

您可以使用

if(is_int(has_filter( $tag, $function_to_check ))){ echo "true!"; }

http://us1.php.net/is_int

答案 1 :(得分:0)

您可以编写以下内容,但不会有太多不同,但会更短一些:

if ( has_filter( $tag, $function_to_check ) !== false) { 
    echo "true!";
}

答案 2 :(得分:0)

你可以跳过一个级别的parens并像这样写:

if( false !== has_filter( $tag, $function_to_check ) )
{ 
    echo "true!"; 
}

因为执行if (!(... === ...))与执行if (... !== ...)

相同