if(isset(a,b))和if(isset(a)&& isset(b))之间的差异

时间:2017-08-30 13:33:59

标签: php

如标题中所述,使用

之间有什么区别
if(isset($a, $b)){
    //execute...
}

if(isset($a) && isset($b)){
    //execute...
}

您认为哪一个更好?

2 个答案:

答案 0 :(得分:2)

如果您打算稍后使用empty()而不是isset(),则会有所不同。

isset()允许使用逗号分隔值,而empty()则不允许。

因此,您需要在empty()上使用单独的条件,如果将来是这种情况。

但要回答这个问题,没有区别;两者都有效并且工作方式相同。

  

您认为哪一个更好?

这完全是出于偏好。

但是,如果一个或另一个失败,那么在不同的条件下检查两者。在使用此方法isset()时,需要设置两者才能使if(isset($a, $b))正常工作。

答案 1 :(得分:2)

如php isset documentation中所述:

  

如果提供了多个参数,则isset()将仅返回TRUE   如果设置了所有参数。评估从左到右   并在遇到未设置的变量时立即停止。

因此功能没有区别。

我个人更喜欢第一个概念,因为它产生的代码略短。