PHP:在三元组中使用isset吗?

时间:2016-01-24 19:22:27

标签: php isset

说我有这个功能:

function foo($var = null) {

     return $var ? 'good' : 'bad';
  // return (isset($var) && !empty($var)) ? 'good' : 'bad';
}

此函数按预期工作,它应该是合成的,因为$var默认值总是设置,有没有理由使用isset()empty PHP函数?

P.S: good不是$var nullfalse

时,''是可以接受的

1 个答案:

答案 0 :(得分:4)

正如评论中所述,通过if测试,php会进行类型推断。

因此$var中的值会回显bad,即使它们不为空。

要获得更准确的答案,您应该检查PHP type comparison tables:您有if($x)isset()is_null()empty()之间差异的例子,具体取决于您测试的变量的值。