Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Управляющие конструкции
Альтернативный синтаксис
PHP предлагает альтернативный синтаксис для некоторых своих управляющих структур, а именно для if , while , for , foreach и switch . В каждом случае открывающую скобку нужно заменить на двоеточие ( :), а закрывающую – на endif;, endwhile; и т.д. соответственно.
Например, синтаксис оператора if можно записать таким образом:
if(выражение): блок_выполнения endif;
Смысл остается тем же: если условие, записанное в круглых скобках оператора if , оказалось истиной, будет выполняться весь код, от двоеточия " :" до команды endif;. Использование такого синтаксиса полезно при встраивании php в html-код.
<?php $names = array("Иван","Петр","Семен"); if ($names[0]=="Иван"): ?> Привет, Ваня! <?php endif; ?>Пример 3.4. Использование альтернативного синтаксиса
Если используются конструкции else и elseif , то также можно задействовать альтернативный синтаксис:
<?php $a=1; if ($a == 5): print "a равно 5"; print "..."; elseif ($a == 6): print "a равно 6"; print "!!!"; else: print "a не равно ни 5, ни 6"; endif; ?>
Оператор switch
Еще одна конструкция, позволяющая проверять условие и выполнять в зависимости от этого различные действия, – это switch . На русский язык название данного оператора можно перевести как "переключатель". И смысл у него именно такой. В зависимости от того, какое значение имеет переменная, он переключается между различными блоками действия. switch очень похож на оператор if...elseif...else или набор операторов if . Структуру switch можно записать следующим образом:
switch (выражение или переменная){ case значение1: блок_действий1 break; case значение2: блок_действий2 break; ... default: блок_действий_по_умолчанию }
В отличие от if , здесь значение выражения не приводится к логическому типу, а просто сравнивается со значениями, перечисленными после ключевых слов case ( значение1, значение2 и т.д.). Если значение выражения совпало с каким-то вариантом, то выполняется соответствующий блок_действий – от двоеточия после совпавшего значения до конца switch или до первого оператора break , если таковой найдется. Если значение выражения не совпало ни с одним из вариантов, то выполняются действия по умолчанию ( блок_действий_по_умолчанию ), находящиеся после ключевого слова default. Выражение в switch вычисляется только один раз, а в операторе elseif – каждый раз, поэтому, если выражение достаточно сложное, то switch работает быстрее.
Пример 3.3 можно переписать с использованием switch следующим образом:
<? $names = array("Иван","Петр","Семен"); switch ($names[0]){ case "Иван": echo "Привет, Ваня!"; break; case "Петр": echo "Привет, Петя!"; break; case "Семен": echo "Привет, Сеня!"; break; default: echo "Привет, $names[0]. А как Вас зовут?"; } ?>
Если в этом примере опустить оператор break , например, в case "Петр":, то, если переменная окажется равной строке "Петр", после вывода на экран сообщения "Привет, Петя!" программа пойдет дальше и выведет также сообщение "Привет, Сеня!" и только потом, встретив break , продолжит свое выполнение за пределами switch .
Для конструкции switch , как и для if , возможен альтернативный синтаксис, где открывающая switch фигурная скобка заменяется двоеточием, а закрывающая – endswitch; соответственно.