我正在学习 PHP 开发,作为一名初学者,我想问有关 if 与 isset 的使用的问题。这里有两个代码:
这两段代码有什么区别吗:
if ( (isset($_GET['id'])) && (is_numeric($_GET['id'])) )
还有:
if (isset($_GET['s']) && is_numeric($_GET['s']))
在第一部分中,isset()
和 is_numeric()
位于一组附加括号内。
但在第二个中,它们位于 if()
的括号内。
第一个和第二个片段有什么区别吗?
预先感谢您的任何解释和澄清。
最佳答案
不,没有任何区别。
附加括号 ((...)
) 的目的是指定特定的运算顺序,就像数学中一样。作为一般规则,如果使用太多括号,不会发生什么不好的事情,但它会使您的代码不太清晰。您编写的两个代码片段执行完全相同的操作。我认为第二个例子更清晰。
这是您需要它们的地方:
if ((conditionA || conditionB) && (conditionC || condition D)) {
...
}
它们还可以增加数学表达式的清晰度:
$x = $y * 7 + 3 / 2;
$x = ($y * 7) + (3 / 2);
这两个表达式都执行完全相同的操作,但括号可以让您更轻松地了解发生了什么,而无需记住操作顺序。
有时,您想要使用不同的操作顺序,并且需要它们:
$x = $y * (7 + 3) / 2;
关于php - if 语句中括号的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37534851/