if ($names[0]=='Иван') {

// если первое имя в массиве Иван

echo 'Привет, Ваня!';

}elseif ($names[0] == 'Петр'){

// если первое имя

// не Иван, а Петр

echo 'Привет, Петя!';

}elseif ($names[0] == 'Семен'){

// если первое имя не

// Иван, не Петр, а Семен

echo 'Привет, Сеня!';

}else {

// если первое имя не Иван,

// не Петр и не Семен

echo 'Привет, $names[0]. А ты кто такой?';

}

?>

Альтернативный синтаксис

PHP предлагает альтернативный синтаксис для некоторых своих управляющих структур, а именно для if, while, for, foreach и switch. В каждом случае открывающую скобку нужно заменить на двоеточие (:), а закрывающую – на endif;, endwhile; и т.д. соответственно.

Например, синтаксис оператора if можно записать таким образом:

if(выражение): блок_выполнения endif;

Смысл остается тем же: если условие, записанное в круглых скобках оператора if, оказалось истиной, будет выполняться весь код, от двоеточия «:» до команды endif;. Использование такого синтаксиса полезно при встраивании php в html-код.

<?php

$names = array('Иван','Петр','Семен');

if ($names[0]=='Иван'):

?>

Привет, Ваня!

<?php endif ?>

Если используются конструкции else и elseif, то также можно задействовать альтернативный синтаксис:

<?php

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].

А как Вас зовут?';

}

?>

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату