Понятие операторных скобок. Операторные скобки в PHP.

php

В прошлой заметке мы рассмотрели синтаксис условного оператора в PHP. В этой заметке речь пойдет об операторных скобках. С ними вы будете сталкиваться постоянно. Это базовое понятие любого языка программирования.






На вопрос, что такое операторные скобки, нам поможет ответить Wikipedia:

Операторные скобки — скобки или команды, определяющие в языке программирования блок команд, воспринимаемый как единое целое, как одна команда.

В языке Pascal для обозначения операторных скобок используется конструкция begin…. end. В Си-подобных языках (к коим относится и PHP), операторные скобки описываются с помощью символов {…}.

Т.е. другими словами, несколько команд, заключенных в операторные скобки воспринимаются как 1 команда.

В статье об условиях в PHP был пример:


<?php 
$a = 5; 
$b = 10; 
if ($a > $b) {
    echo "Переменная A больше, чем B";
} 
else {
    echo "Переменная B больше, чем A";
}
 
?>

В этом примере операторные скобки используются 2 раза. Они обрамляют операторы

  • echo «Переменная A больше, чем B»;
  • echo «Переменная B больше, чем A»;

В этом примере в скобки заключен всего 1 оператор, так что это равносильно вот такой записи:


<?php 
$a = 5; 
$b = 10; 
if ($a > $b)
    echo "Переменная A больше, чем B";
else
    echo "Переменная B больше, чем A";
 
?>

Синтаксис:


if (условие)
    выражение 1;
else
    выражение 2;

Допустим, мы хотим, чтобы в случае невыполнения условия на экран также выводилась еще одна строка. Также изменим значения наших переменных так, чтобы теперь  $a была > $b. Модифицируем наш код:


<?php 
$a = 20; 
$b = 10; 
if ($a > $b)
    echo "Переменная A больше, чем B.  ";
else
    echo "Переменная B больше, чем A. ";
    echo "Да..да А на самом деле меньше B.  ";
?>

Выполняем… Что же мы видим на экране:

Переменная A больше, чем B. Да..да А на самом деле меньше B.

Где-то здесь закралась ошибка. Как вы уже догадались все дело в том, что так как у нас условие истинно (а > b), то выполняется код:


echo "Переменная A больше, чем B.  ";

В ветке else у нас содержится только 1 выражение:


echo "Переменная B больше, чем A. ";

Следующее выражение будет выполняться не зависимо от условия. Вот так:


<?php 
$a = 20; 
$b = 10; 
if ($a > $b)
    echo "Переменная A больше, чем B.  ";
else
    echo "Переменная B больше, чем A. ";
 
 
echo "Да..да А на самом деле меньше B.  ";
 
?>

Теперь используем операторные скобки и объединим 2 выражения в ветке else:



<?php 
$a = 20; 
$b = 10; 
if ($a > $b) {
    echo "Переменная A больше, чем B.  ";
} 
else {
    echo "Переменная B больше, чем A. ";
    echo "Да..да А на самом деле меньше B.  ";
}
?>

Код стал гораздо наглядней. Теперь PHP понимает, что в случае невыполнения условия ($a > $b) нужно вывести 2 строки. А если условие истинно — только одну.

Мой вам большой совет — всегда используйте операторные скобки, даже если не нужно объединять несколько операторов в 1 блок. Дело в том, что:

  • код так лучше воспринимается. Окинув быстрым взглядом код, мы видим отдельные его блоки, а не винегрет из букв и цифр.
  • в старый код частенько приходиться вносить изменения. Если у вас не стояли операторные скобки, а вы (как в нашем случае) дописали какой-то код, то логика программы будет неверной. Вы можете даже сразу этого не заметить.

 






Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *