2013-03-27 65 views
0

我有一个问题,使if声明:如果与条件isset和比较语句时,没有一起工作

<?php if (isset($detail) == 1) { ?> 
    // code if detail variable exists and is equal to 1 
<?php } else { ?> 
    // code if detail variable doesn't exist or is not equal 1 
<?php }?> 

出于某种原因,这种情况下是行不通的。我怎样才能修复if条件,所以它会工作?

+0

什么'细节'值产生意想不到的结果? – MichaelRushton 2013-03-27 21:01:11

回答

2

isset是一个布尔运算符,它返回TRUEFALSE。您无需将其与1进行比较。

if(isset($detail)) 

作为一个方面说明,仅仅因为设置了变量,并不意味着它不是空的。你可能想要检查它是不是空的:

if(!empty($detail)) 
+0

aha所以这可能是问题,因为我发送这样的'$ this-> data ['detail'] = 0;'或'$ this-> data ['detail'] = 1;' – Derfder 2013-03-27 20:47:32

+0

因此,我应该使用空的吗?它可以做得更简单吗?我的意思是在这个“双重检查”的PHP的任何功能? – Derfder 2013-03-27 20:48:23

+0

如果它不存在我会做我的帮手,但它会很整洁,如果它已经存在于php – Derfder 2013-03-27 20:49:47