-2
我在堆栈溢出很多情况下都看到了,我看到人们使用含例子:使用?和:相比于运营商{和}
$Var = isset($_SESSION['Key'])? $_SESSION['Key']: null;
什么是实际结构和表现?有没有任何性能改进服务器与使用这些运算符相比,简单的if
和else
声明?或者这通常是由个人编程偏好决定的?
我在堆栈溢出很多情况下都看到了,我看到人们使用含例子:使用?和:相比于运营商{和}
$Var = isset($_SESSION['Key'])? $_SESSION['Key']: null;
什么是实际结构和表现?有没有任何性能改进服务器与使用这些运算符相比,简单的if
和else
声明?或者这通常是由个人编程偏好决定的?
它只是产生较短的代码。它等效于:
if (someCondition) // do if true
else // do otherwise
或为您的代码...
if ($_SESSION['Key']) $Var = $_SESSION['Key'];
else $Var = null;
http://php.net/manual/en/language.operators.comparison.php – 2013-03-21 02:23:28
我会感到惊讶如果有任何性能差异。将默认值设置为变量是完美的,但它仍然是一个偏好问题。 – Tchoupi 2013-03-21 02:24:24
个人喜好,简洁的代码,清晰的变量赋值。它被称为_ternary operator_ – 2013-03-21 02:24:29