我正在学习PHP开发作为初学者的过程我想问一下关于if与isset一起使用的问题.这里有两个代码:
这两段代码之间有什么区别:
if ( (isset($_GET['id'])) && (is_numeric($_GET['id'])) )
Run Code Online (Sandbox Code Playgroud)
和:
if (isset($_GET['s']) && is_numeric($_GET['s']))
Run Code Online (Sandbox Code Playgroud)
在第一部分中,isset()
并且is_numeric()
在另一组括号内.
但是在第二次它们位于if()
括号内.
第一个和第二个片段之间有什么区别吗?
提前感谢任何解释和澄清.
不,没有任何区别.
附加括号((...)
)的目的是指定特定的操作顺序,例如在数学中.作为一般规则,如果使用太多括号,则不会发生任何不良情况,但它可能会使您的代码不那么清晰.您编写的两个代码段完全相同.我认为第二个例子更清洁.
这是您需要它们的地方:
if ((conditionA || conditionB) && (conditionC || condition D)) {
...
}
Run Code Online (Sandbox Code Playgroud)
它们还可以增加数学表达式的清晰度:
$x = $y * 7 + 3 / 2;
$x = ($y * 7) + (3 / 2);
Run Code Online (Sandbox Code Playgroud)
这两个表达式完全相同,但括号使得更容易看到发生了什么,而不记住操作的顺序.
有时,您希望使用不同的操作顺序,并且需要它们:
$x = $y * (7 + 3) / 2;
Run Code Online (Sandbox Code Playgroud)