php - if 语句中括号的使用

标签 php if-statement

我正在学习 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/

相关文章:

php - 从其他查询mysql的结果生成结果

php - 无法在 Ubuntu 21.04 上安装 PHP8.0 和 php8.0-pgsql

php - 根据逗号分隔值显示结果

java - 使用 && 进行条件 if 评估

r - 将单元格值分配给后续 NA 单元格(同一列)的函数

r - 在 R 中使用 ifelse 和 grepl 进行变异并创建具有匹配字符串的新列

php - 标题菜单php中的按钮

php - 如何在 php 中将日期从 yyyy-mm-dd 转换为 dd-mm-yyyy?

java - 计算并返回 FizzBu​​zzProblem 中 3*f+5*b-15*fb 的值

javascript - 如何修复仅返回 else 语句的 if 函数