php中“true == isset($ variable)”和“isset($ variable)== true”之间的区别

时间:2012-01-27 09:04:23

标签: php conditional-statements

我只是徘徊在PHP中等同于条件的概念,

之间可能有什么区别
true == isset($variable) 

isset($variable) == true

5 个答案:

答案 0 :(得分:3)

对于这个具体案例,没有区别。

第一种语法用于防止意外分配而不是比较。

if ( true = $x ) // would yiled error
if ( $x = true ) // would work

但是,在你的情况下,没有区别。

精化:

假设您要将变量$xtrue进行比较并执行某些操作。你可能会不小心写

if ( $x = true )

而不是

if ( $x == true )

并且条件总是会过去。

但如果你养成了写作的习惯

if ( true == $x )

这些错误不会发生,因为会产生语法错误而且您事先就会知道。

答案 1 :(得分:3)

没有区别。但isset()本身返回一个布尔值。

所以永远不要使用

if (true == isset($variable))

只需:

if (isset($variable))

答案 2 :(得分:0)

请记住,当php解析true实际定义并且等于1.此外,它是false并且它等于0.php自动检查这些以便在IF语句中与这些值进行比较。你会安全使用!运算符,因为它与if($ something == false)一样好运!

答案 3 :(得分:-1)

没有“真正的”差异(在这种情况下) 介于之间 true == isset($variable)
和/

 isset($variable) == true

答案 4 :(得分:-1)

是Java,有区别。

即。

  String test = null;
  if("".equals(test)){
    System.out.println("I m fine..");
  }
  if(test.equals("")){
    System.out.println("I m not fine..");
  }