在PHP中编写三元操作的正确方法

时间:2015-07-20 16:06:01

标签: php ternary-operator

据我所知,有两种方法可以在PHP中编写三元运算:

$var = ( isset( $i['var'] ) ? $i['var'] : "" );

$var = ( isset( $i['var'] ) ) ? $i['var'] : "";

其中一种方式是"纠正",还是一种方法比另一种方式表现更好,还是它们都可以互换?

1 个答案:

答案 0 :(得分:1)

两者都是正确的。事实上,在你的例子中,你根本不需要括号。你可以这样做:

$var = isset( $i['var'] ) ? $i['var'] : "";

括号不会对代码的性能产生任何影响。他们有两个原因:

  1. 删除编译器歧义 这并不适用于您给出的简单示例,因为在运营商中只检查了一件事。在某些更复杂的情况下,您可能需要括号。
  2. 使其更具可读性 同样,这个简单的例子在有或没有括号的情况下都是可读的,所以它不会有太多的可能性。但是,即使编译器没有任何歧义,它们也可以帮助您了解当代码更复杂时会发生什么。