felony13twelve
@felony13twelve

Зачем нужно ставить две скобки в if?

Зачем нужно ставить две скобки в if?

Пример:

$a=1;
$b=2;
if(($a == 1) and $b == 2)) {
 echo "+";
}


Если можно так сделать:

if($a == 1 and $b == 2) {
 echo "+";
}


В чём разница? Зачем так делать? Для чего?
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
потому что так проще читается глазами и точно не напортачишь с приоритетом операций.
вкусовщина, короч. из разряда yoda style.

кстати: && и and - не одно и то же.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bkosun
Когда операторы образуют последовательность - они выполняются согласно приоритетности.

Приоритет оператора определяет, насколько "тесно" он связывает между собой два выражения. Например, выражение 1 + 5 * 3 вычисляется как 16, а не 18, поскольку оператор умножения ("*") имеет более высокий приоритет, чем оператор сложения ("+"). Круглые скобки могут использоваться для принудительного указания порядка выполнения операторов. Например, выражение (1 + 5) * 3 вычисляется как 18.


https://www.php.net/manual/ru/language.operators.p...

Типичная ошибка:
$c = $a xor $b; // $c = $a; (потому, что оператор присваивания (=) имеет больший приоритет, чем xor)
$c = ($a xor $b); // $c = $a xor $b
//...


Дополнительно такие последовательности (без скобок) снижают читабельность кода.

$c = $a++ + 2 <= --$b * 4 + $e && $f; VS $c = ($a++ + 2) <= ((--$b * 4) + ($e && $f));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
RecruitIT Москва
от 100 000 до 160 000 ₽
от 80 000 до 120 000 ₽
от 130 000 до 180 000 ₽
22 окт. 2020, в 21:34
6200 руб./за проект
22 окт. 2020, в 21:22
500 руб./за проект
22 окт. 2020, в 21:06
500 руб./за проект