Php

Case php: PHP switch: case, break и continue

Содержание

PHP switch: case, break и continue

Оператор switch

Часто вместо нескольких расположенных подряд операторов if else целесообразно воспользоваться специальной конструкцией switch-case. Оператор switch сравнивает значение условного выражения с несколькими значениями. Как правило, в качестве выражения используется переменная, в зависимости от значения которой должен быть исполнен тот или иной блок кода. Для сравнения в switch используется оператор равенства (==).

Представим себе переменную $action, которая может иметь значения "JUMP" (прыгать), "SWEEM" (плавать), "FLY" (летать). Оператор switch позволяет легко определить блок кода, который должен исполняться для каждого из этих значений. Чтобы показать разницу между операторами if и switch, выполним проверку переменной на соответствие нескольким значениям. Следующий пример показывает два различных способа сделать то же самое. Первый способ использует серию операторов if и elseif, а второй — оператор switch:


<?php

  $action = 'JUMP';

  if ($action == 'JUMP') {
    echo "Мне нравится прыгать.";
  } elseif ($action == 'SWEEM') {
    echo "Я люблю плавать.";
  } elseif ($action == 'FLY') {
    echo "Хотел бы я научиться летать.";
  }

  switch ($action) {
    case 'JUMP':
      echo "Мне нравится прыгать.";
      break;
    case 'SWEEM':
      echo "Я люблю плавать.";
      break;
    case 'FLY':
      echo "Хотел бы я научиться летать.";
      break;
  }

?>

Оператор switch берет значение, возвращаемое условным выражением, и начинает сравнивать его со всеми значениями, стоящими рядом с ключевым словом case (метка), в порядке их следования. Как только совпадение обнаружено, выполняется соответствующий блок кода. Если соответствие не найдено, не исполняется ни один из блоков.

Примечание: условное выражение должно возвращать значение элементарного типа, например число или строку.

case

Обратите внимание, что за ключевым словом case каждый раз следует значение (литерал), после которого должно обязательно стоять двоеточие. Тип значения, указанного после оператора case, должен совпадать с типом значения возвращаемого условием. Перед началом исполнения тела (содержимое между фигурными скобками) оператора switch, переменная указанная в скобках, должна быть инициализирована каким-нибудь значением, поскольку это значение будет сравниваться со значениями, указанными после case. Инструкции, расположенные после case, будут исполняться до тех пор, пока не встретится оператор break.

Примечание: в операторе case может быть использовано любое выражение, которое приводится к простому типу, то есть к числу (integer), вещественному числу (float), строке (string) или логическому значению (bool).

break

Если должен быть выполнен только один блок кода, соответствующий определенному значению, то в конце этого блока следует вставить ключевое слово break. Интерпретатор PHP, встретив ключевое слово break, завершает работу оператора switch и переходит к исполнению инструкции, расположенной после закрывающей фигурной скобки оператора switch.

Конструкции case в операторе switch задают только начальную точку выполняемого программного кода, но не задают никаких конечных точек. В случае отсутствия ключевого слова break, оператор switch начнёт выполнение блока кода с метки (case), значение которой соответствует значению условного выражения, и продолжит выполнение инструкций до тех пор, пока не дойдет до конца всего блока. Поэтому стоит быть аккуратнее и не забывать завершать каждый блок case оператором break. В следующем примере показано, что происходит при отсутствии ключевого слова break:


<?php
  $action = 'JUMP';

  switch ($action) {
    case 'JUMP':
      echo "Мне нравится прыгать.<br>";
    case 'SWEEM':
      echo "Я люблю плавать.<br>";
    case 'FLY':
      echo "Хотел бы я научиться летать.<br>";
  }

?>

В результате работы скрипта, будут выведены все три записи. Однако иногда бывает полезным опускать намеренно оператор break, например в таких случаях, когда при совпадении одного из нескольких значений, должен исполняться один блок кода:


<?php
  
  $a1 = 2;

  switch ($a1) {
    case 1:                            
    case 2:
    case 3:                                                        
      echo "\$a1 равно 1, 2 или 3";  
      break;
    case 6:                            
      echo "\$a1 равно 6";   
      break;
  }

?>

Обратите внимание на этот пример: список инструкций для выполнения в секции case может быть пустым, в этом случае управление просто передается далее по списку — следующему оператору case.

continue

Обратите внимание: оператор continue применяется в конструкциях switch и действует подобно оператору break.


<?php
  
  $a1 = 2;

  switch ($a1) {
    case 1:                            
    case 2:
    case 3:                                                        
      echo "\$a1 равно 1, 2 или 3";  
      continue;
    case 6:                            
      echo "\$a1 равно 6";   
      continue;
  }

?>

Выбор по умолчанию

Если значение условного выражения не совпало ни с одним из предложенных значений в секциях case, оператор switch позволяет выполнить некоторые действия по умолчанию. Для этого используется ключевое слово default. Работает оно следующим образом: если значение возвращаемое условием не совпало ни с одним из предложенных значений в секциях case, оператор switch начинает выполнение инструкций расположенных в секции default.


<?php

$action = 5;

switch ($action) {
    case 'JUMP':
      echo "Мне нравится прыгать.<br>";
    case 'SWEEM':
      echo "Я люблю плавать.<br>";
    case 'FLY':
      echo "Хотел бы я научиться летать.<br>";
	default:
	  echo 'Что-то мне вообще лень, что-либо делать.';
}

?>

Оператор default обычно указывается в конце тела switch, после всех меток (case). Это логичное и обычное место для него, но на самом деле, оператор default может быть расположен в любом месте внутри конструкции switch. Так как блок кода расположенный в секции default обычно является последним в теле switch, ключевое слово break чаще всего опускают.

Дополнительные сведения

Возможно у вас возник вопрос когда же лучше использовать оператор switch, если тоже самое можно сделать используя оператор if else? Ответить на этот вопрос можно так: в операторе switch выражение вычисляется всего один раз и этот результат сравнивается с каждым значением оператора case. В условных выражениях elseif, значение выражения вычисляется каждый раз заново. Если ваше условие более сложное, чем простое сравнение и/или находится к примеру в цикле, в этом случае конструкция switch может работать быстрее, чем elseif.

На последок хотелось бы упомянуть о том, что вместо двоеточия после операторов case и default, можно использовать точку с запятой:


<?php

  $juice = 'Яблочный';
 
  switch ($juice) {
    case 'Яблочный';
    case 'Апельсиновый';
    case 'Банановый';
      echo 'Хороший выбор';
      break;
    default;
      echo 'Я не определился с соком.';
      break;
  }

?>

С этой темой смотрят:

Работа с конструкциями if-else, switch-case в PHP

Конструкция if-else

Для того, чтобы напрограммировать что-нибудь полезное, одних переменных далеко не достаточно. Нам нужен механизм, который позволит выполнять
определенный код в зависимости от каких-либо условий.

То есть нам нужно иметь возможность спросить у PHP ‘Если’.

Например так: если эта переменная меньше нуля,
то вывести ‘отрицательно’,
иначе (то есть если она больше нуля) вывести ‘положительно’.

В PHP для таких вопросов предназначена конструкция if, которая позволяет выполнять определенный
код при выполнении какого-либо условия
:

<?php
	if (логическое выражение) {
		Этот код выполниться,
		если логическое выражение верно (то есть равно true)
	}
 	else 
 	{
		Этот код выполнится,
		если логическое выражение неверно (то есть равно false)
	}
?>

Обратите внимание на то, что блок else не обязателен.

Логическое выражение представляет собой тот самый вопрос, который мы хотим задать PHP. Например,
чтобы спросить ‘переменная $a больше нуля’ мы напишем так: $a > 0.

Примеры работы:

<?php
	$a = 3;

	/*
		Если переменная $a больше нуля, то выведи 'верно',
		иначе (если меньше или равна нулю) выведи 'неверно'
	*/
	if ($a > 0) {echo 'Верно!';} else {echo 'Неверно!';} //выведет 'Верно!'
?>
<?php
	$a = -3;

	/*
		Если переменная $a больше или равна нулю, то выведи 'верно',
		иначе (если меньше нуля) выведи 'неверно'
	*/
	if ($a >= 0) {echo 'Верно!';} else {echo 'Неверно!';} //выведет 'Неверно!'
?>

Сокращенный синтаксис

В случае, если в фигурный скобках if или else будет только одно выражение,
можно эти фигурные скобки не писать:

<?php
	//Полный вариант:
	if ($a == 0) {echo 'Верно!';} else {echo 'Неверно!';}

	//Уберем скобки после if:
	if ($a == 0) echo 'Верно!'; else {echo 'Неверно!';}

	//Уберем скобки после else:
	if ($a == 0) {echo 'Верно!';} else echo 'Неверно!';

	/*
		Уберем скобки и после if, и после else
		(обратите внимание на точку с запятой - она осталась):
	*/
	if ($a == 0) echo 'Верно!'; else echo 'Неверно!'; 
?>

Равенство по значению и типу

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

Почему так? Потому что одиночное равно зарезервировано за присваиванием.
Смотрите пример:

<?php
	$a = 0;

	/*
		Если переменная $a равна нулю, то выведи 'верно',
		иначе (если не равна нулю) выведи 'неверно'
	*/
	if ($a == 0) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>

А следующий пример работать будет не так, как мы думаем:

<?php
	$a = 0;

	/*
		Мы думаем оно работает так:
			если переменная $a равна нулю, то выведи 'верно',
 			иначе (если не равна нулю) выведи 'неверно'.

		На самом деле оно работает так:
			переменной $a присвоить 1,
			если удалось присвоить - то выведи 'верно',
			иначе (если не удалось присвоить) выведи 'неверно'.
	*/

	if ($a = 1) echo 'Верно!'; else echo 'Неверно!'; //всегда будет выводить 'Верно!'
?>

Кроме оператора == существует еще и оператор ===. Их различие в том, что === сравнивает не только по значению, но и по типу,
а == сравнивает только по значению.

Чтобы полностью разобраться в этом, внимательно изучите примеры:

<?php
	$a = '0'; //переменная $a представляет собой строку, а не число 0
	if ($a == 0) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Верно!', так как проверяется только значение, но не тип.
		Поэтому '0' равен 0.
	*/
?>
<?php
	$a = '0'; //переменная $a представляет собой строку, а не число 0
	if ($a === 0) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Неверно!', так как строка '0'
 		не равна числу 0 при сравнении по типу.
	*/
?>

Не равно

Для того, чтобы спросить ‘не равно’,
существует операторы != и !==.
Первый игнорирует различие в типах, а второй — нет.

<?php
	$a = 0;

	/*
		Если переменная $a НЕ равна нулю, то выведи 'верно',
		иначе (если не равна нулю) выведи 'неверно'
	*/
	if ($a != 0) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!', так как $a равно 0
?>
<?php
	$a = 1;

	/*
		Если переменная $a НЕ равна нулю, то выведи 'верно',
		иначе (если не равна нулю) выведи 'неверно'
	*/
	if ($a != 0) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!', так как $a равно 0
?>
<?php
	$a = '0';

	/*
		Если переменная $a НЕ равна нулю, то выведи 'верно',
		иначе (если не равна нулю) выведи 'неверно'
	*/
	if ($a != 0) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Неверно!', так как $a равно '0',
		а различие в типах игнорируется.
	*/
?>
<?php
	$a = '0';

	/*
		Если переменная $a НЕ равна нулю, то выведи 'верно',
		иначе (если не равна нулю) выведи 'неверно'
	*/
	if ($a !== 0) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Верно!', так как $a равно '0',
 		а это не равно 0 при сравнении по типу.
	*/
?>

Все операции сравнения

Возможные операции сравнения, которые можно использовать внутри if:

$a == $b$a равно $b
$a === $b$a равно $b и они одинаковы по типу
$a != $b$a не равно $b
$a !== $b$a не равно $b или $a равно $b, но ни разные по типу
$a$a меньше $b
$a > $b$a больше $b
$a$a меньше или равно $b
$a >= $b$a больше или равно $b

Функция empty

Зачастую в веб-программировании возникает следующая проблема: необходимо проверить переменную на пустоту.

Переменная будет пустая, если она равна нулю, » (пустой строке),
false или null (то есть не определена ранее).

Проверка на пустоту выполняется с помощью функции empty():

<?php
	$a = null;
	//Если $a пустое, то...
	if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>
<?php
	$a = 0;
	//Если $a пустое, то...
	if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>
<?php
	$a = '';
	//Если $a пустое, то...
	if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'
?>
<?php
	$a = 'hi';
	//Если $a пустое, то...
	if (empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!', так как $a не пустая
?>

Чаще возникает обратная задача — проверка на то, что переменная является НЕ пустой.
Отрицание НЕ можно сделать с помощью оператора ‘!’:

<?php
	$a = null;
	//Если $a Непустое, то...
	if (!empty($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!', так как $a пустое
?>

Функция isset

Аналогом empty является функция isset.
Она проверяет существует ли переменная
(то есть то, что она не равна null). Смотрите примеры:

<?php
	$a = 'hello';

	//Если $a существует, то...
	if (isset($a)) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Верно!', так как $a существует.
	*/
?>
<?php
	$a = 0;

	//Если $a существует, то...
	if (isset($a)) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Верно!', так как $a существует.
	*/
?>
<?php
	/*
		Пусть переменную $a вообще не определяли выше в коде
		(это все равно, что присвоить ей null).

		Если $a существует, то...
	*/
	if (isset($a)) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!'
?>

Аналогично проверятся на НЕ существование (через !isset):

<?php
	$a = 3;

	//Если $a НЕ существует то...
	if (!isset($a)) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Неверно!', так как $a существует.
	*/
?>

Несколько условий сразу: or и and

Иногда может быть нужно составить какое-то сложное условие, например,
пользователь вводит месяц своего рождения и вам нужно проверить,
что введенное число больше или равно 1 и меньше либо равно 12 (так как в году 12 месяцев).

Для этого существуют операторы and (логическое И) и or (логическое ИЛИ).

<?php
	$a = 3;
	$b = -3;
	//Если $a больше нуля и $b одновременно меньше нуля то...
	if ($a > 0 and $b < 0) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'

	$a = 3;
	//Если $a больше или равно 1 и меньше или равно 12 то...
	if ($a >= 1 and $a <= 12) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!'

	$a = -3;
	$b = -3;
	/*
		Если $a больше нуля ИЛИ $b меньше нуля - хотя бы один из них, то...
		выведет 'Верно!', так как хотя $a и не больше нуля,
		но одно из условий -  $b < 0 - выполнится!
	*/
	if ($a > 0 or $b < 0) echo 'Верно!'; else echo 'Неверно!';
?>

Вместо and можно писать &&, а вместо or||.

Работа с логическими переменными

Многие функции PHP в результате своей работы возвращают либо true (истина), либо false (ложь).
Эти значения довольно удобны при своей работе,
но новичкам бывает довольно сложно понять их.

Представим себе, что переменная $a равна true. В таком случае конструкцию if можно записать так:

<?php
	$a = true;

	//Если $a равно true, то...
	if ($a == true) echo 'Верно!'; else echo 'Неверно!';

	/*
		Выведет 'Верно!', так как $a равно true.
	*/
?>

Так как такие сравнения довольно распространены в PHP, то существует специальный прием,
облегчающий работу (но не понимание, к сожалению).

Прием такой: конструкцию $a == true можно заменить на более простую:
вместо if ($a == true) написать if ($a) и она будет работать аналогично.

Следует пользоваться второй конструкцией, так как она проще.

<?php
	/*
		Заменим  $a == true на более простую:
		вместо if ($a == true) напишем if ($a):
	*/

	$a = true;
	//Если $a равно true, то...
	if ($a) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Верно!', так как $a равно true

	$a = true;
	//Если $a НЕ true (то есть false!), то...
	if (!$a) echo 'Верно!'; else echo 'Неверно!'; //выведет 'Неверно!', так как $a равно true
?>

Также обратите внимание на следующие примеры:

<?php
	//Данное выражение всегда будет выводить 'Верно'
	if (true) echo 'Верно!'; else echo 'Неверно!';

	//Данное выражение всегда будет выводить 'Неверно'
	if (false) echo 'Верно!'; else echo 'Неверно!';

	//Данное выражение всегда будет выводить 'Неверно'
	if (!true) echo 'Верно!'; else echo 'Неверно!';
 
	//Данное выражение всегда будет выводить 'Верно'
	if (!false) echo 'Верно!'; else echo 'Неверно!';
?>

Работа вместе с HTML

PHP устроен таким образом, что его можно использовать в одном файле с HTML.
Представьте, что у нас возникает такая задача: если пользователь авторизован — вывести его логин,
иначе ссылку на авторизацию.
Ее можно решить, смешивая PHP код и HTML код вместе.

Посмотрите примеры:

<?php
	$a = true;
	if ($a) {
		//Данный HTML код будет виден на экране только если $a равно true
		echo '<p>Здесь выведем какой-то HTML!</p>';
	}
?>

Однако, очень часто это может оказаться неудобным,
особенно если размеры HTML кода очень большие.
Поэтому можно воспользоваться следующим приемом с разрывом PHP:

<?php
	//Пример на работу вместе с HTML
	$a = true;
	if ($a) {
		/*
			Мы оборвали PHP, но HTML код ниже
			все равно будет виден на экране только если $a равно true.
		*/
	?>
		<p>Здесь выведем какой-то HTML!</p>
	<?php
		/*
			Здесь мы продожаем PHP, открыв скобку <?php
			и закрываем фигурную скобку от ифа.
		*/
	}
?>

Вложенные if

Предположим, нам необходимо спросить у PHP такую вещь:

если переменная $a пуста, то вывести ‘Введите $a’,
если не пуста, то проверить — больше нуля $a или нет.
Если больше нуля — то вывести ‘Больше нуля!’,
если меньше — вывести ‘Меньше нуля’.

Одной конструкцией if здесь не обойтись,
нужно использовать две таким образом, чтобы одна была внутри другой:

<?php
	if (empty($a)) { //если переменная $a пуста
		echo 'Введите $a!';
	} else { //если переменная $a НЕ пуста
		if ($a > 0) { //спрашиваем, больше ли нуля переменная $a
			echo 'Больше нуля!'; 
		} else {
			echo 'Меньше нуля!'; 
		}
	}
?>

Конструкция elseif

Недостатком конструкции предыдущего примера является большое количество фигурных скобок.
Поэтому была изобретена специальная конструкция elseif (пишется слитно!),
которая представляет собой одновременно и else, и начало вложенного if:

<?php
	//Решение предыдущей задачи через конструкцию elseif
	if (empty($a)) {
		echo 'Введите $a!';
	} elseif ($a > 0) { //одновременно выполняется else для empty($a) и спрашивается больше ли $a нуля
		echo 'Больше нуля!';
 	} else {
		echo 'Меньше нуля!';
	}
?>

Можно использовать несколько elseif,
но злоупотреблять этим не стоит
(лучше будет воспользоваться конструкцией switch-case, о которой ниже).

Несколько if

Пусть у нас есть такая задача:

сайт поддерживает 3 языка — русский, английский, немецкий.
Переменная $lang может принимать 3 значения — ‘ru’, ‘en’ и ‘de’.
В зависимости от значения переменной $lang следует вывести фразу на одном из языков.

Решение: можно было бы воспользоваться вложенными ифами или elseif.
Выглядело бы это примерно так:

<?php
	//Решение задачи через elseif – не самое удачное
	if ($a == 'ru') { //фраза на русском
		echo 'Русский текст';
	} elseif ($a == 'en') { //фраза на английском
		echo 'Английский текст';
	} elseif ($a == 'de') { //фраза на немецком
		echo 'Немецкий текст';
	}
?>

Такое решение не слишком красивое — блок else здесь не нужен!
Проще всего будет написать не один длинный if с несколькими else,
а несколько if вообще без else:

<?php
	//Решение задачи через несколько if – оно намного лучше
	if ($a == 'ru') { //фраза на русском
		echo 'Русский текст';
	} 
	if ($a == 'en') { //фраза на английском
		echo 'Английский текст';
	}
	if ($a == 'de') { //фраза на немецком
		echo 'Немецкий текст';
	}

	/*
		В данном коде сработает только один из ифов,
 		так как $a может иметь только одно из значений
	*/
?>

Однако, это решение тоже не слишком удобно.
Представьте, что у вас будет не три языка, а 10 — вам придется написать 10 конструкций if.

Для таких случаев существует конструкция switch-case.

Конструкция switch-case

Конструкция switch-case представляет собой альтернативу if-else,
ее рекомендуется использовать в случае множественного выбора
(например, 10 различных языков, как в нашей задаче).

Изучите ее синтаксис:

<?php
	switch ($переменная) {
		case 'значение1':
 			здесь код, который выполнится в случае, если переменная имеет значение1;
		break;
		case 'значение2':
			здесь код, который выполнится в случае, если переменная имеет значение2;
		break;
		case 'значение3':
			здесь код, который выполнится в случае, если переменная имеет значение3;
		break;
		default:
			этот код выполнится в случае, если переменная не совпала ни с одним значением;
		break;
	}
?>

Решим нашу задачу с тремя языками с помощью данной конструкции:

<?php
	switch ($lang) {
		case 'ru':
			echo 'Русский текст';
 		break;
		case 'en': 
			echo 'Английский текст';
		break;
		case 'de': 
			echo 'Немецкий текст';
		break;
		default:
			echo 'Данный язык не поддерживается'; 
		break;
	}
?>

Что вам делать дальше:

Приступайте к решению задач по следующей ссылке: задачи к уроку.

Когда все решите — переходите к изучению новой темы.

Оператор switch | PHP

Вы можете рассматривать PHP оператор switch как альтернативу нескольким операторам if, это управляющая структура с рядом вариантов. Для каждого варианта вы можете определить действие. Цикл switch отлично подходит для реализации выбора с большим количеством вариантов. Он строится на основе условия и нескольких операторов case, каждый из которых может привести к действию.

Вот пример:

<?php
$answer = 0;
if(isset($_GET["answer"]))
    $answer = $_GET["answer"];

switch($answer)
{
    default:
        echo "Какой версией PHP вы пользуетесь?<br /><br />";
        echo "<a href="?answer=3">3</a><br />";
        echo "<a href="?answer=4">4</a><br />";
        echo "<a href="?answer=5">5</a><br />";
        break;
    case 3:
        echo "Фу, это старье, обновитесь сейчас же!";
        break;
    case 4:
        echo "Все еще на 4 версии? Дайте PHP 5 шанс!";
        break;
    case 5:
        echo "Хороший выбор!";
        break;
}
?>

Первая пара строк используется для получения ответа на наш вопрос из строки запроса.

Оператор switch PHP состоит из ключевого слова switch и проверяемого выражения. Мы используем переменную $answer, которая будет содержать значение, переданное через строку запроса. Внутри оператора switch мы определяем наши варианты. Первый вариант — значение по умолчанию. В нем мы используем ключевое слово default, чтобы определить действие, которое будет происходить только тогда, когда ни один из других вариантов не соответствует заданному условию.

В нашем примере это позволяет вывести вопрос, который мы хотим задать и несколько ссылок для ответа на него. Мы спрашиваем у пользователя, какую версию PHP он использует. Как только он нажмет на одну из ссылок, мы выведем ответ. Если ответ не выбран или если вводится неопределенный вариант, мы выводим вопрос, так как это наш вариант default.

Каждый вариант объявляется с помощью ключевого слова case, далее – значение, которое хотим проверить. Потом код, который хотим выполнить, если у нас подходящий case, и затем оператор break, который завершит цикл, если выражение case соответствует условию.

PHP оператор switch позволяет сгруппировать несколько вариантов в одном case. С его помощью в PHP вы также можете сравнить строки.

Вот небольшой пример:

$color = "красный";
switch($color)
{
    case "красный":
    case "синий":
    case "зеленый":
        echo "Хороший цвет!";
        break;
    case "черный":
        echo "Слишком темный!";
        break;
    case "белый":
        echo "слишком светлый!";
        break;
}

Данная публикация представляет собой перевод статьи «The switch statement» , подготовленной дружной командой проекта Интернет-технологии.ру

Оператор SWITCH | Примеры использования, применение CASE для нескольких значений

Оператор switch является аналогом конструкции IF ELSEIF ELSE и позволяет выполнять различные действия в зависимости от значения.

В следующем коде можно увидеть, как одну и ту же задачу можно решить с помощью if и switch:

<?php
    $status = 2; // Номер статуса заказа

    if($status == 1)
        echo 'Статус: Обрабатывается';
    elseif($status == 2)
        echo 'Статус: Передан в доставку';
    elseif($status == 3)
        echo 'Статус: Выполнен';
    else
        echo 'Статус: Неизвестен';

    // Аналогичный код для switch
    switch($status)
    {
        case 1:
            echo 'Статус: Обрабатывается';
            break;
        case 2:
            echo 'Статус: Передан в доставку';
            break;
        case 3:
            echo 'Статус: Выполнен';
            break;
        default:
            echo 'Статус: Неизвестен';
    }
?>

Конструкция switch использует нестрогое сравнение ==.

В круглые скобки мы помещаем значение, которое будет сравниваться с остальными. Затем идёт case, сравниваемое значение и двоеточие. Затем идут команды, которые нужно выполнить. Блок default выполнится, если не выполнен ни один блок case.

Команда break прерывает текущее выполнение switch. Дело в том, что switch выполняет все команды подряд, даже если они находятся в разных блоках case:

<?php
    $status = 1;

    switch($status)
    {
        case 1:
            echo 'Статус: Обрабатывается<br>';
        case 2:
            echo 'Статус: Передан в доставку<br>';
            break;
        case 3:
            echo 'Статус: Выполнен<br>';
            break;
    }
?>

Результат в браузере:

Статус: Обрабатывается
Статус: Передан в доставку

В примере выше выполнились 2 блока case. 1-ый — потому что подходит по условию, второй — потому что в 1-ом блоке отсутствует break.

Несколько значений в CASE

Также в switch можно использовать один блок кода для нескольких значений:

<?php
    $status = 2;

    switch($status)
    {
        case 1:
        case 2:
            echo 'Ожидайте звонка менеджера';
            break;
        case 3:
        case 4:
            echo 'Заказ скоро будет доставлен';
    }
?>

Обычно выбор между if и switch делается исходя только из предпочтений разработчика.

Лично я никогда не использую swtich просто потому что конструкции if-elseif-else мне нравятся больше.

PHP от А до Я. Конструкция switch case

Привет, читатель. Сегодня продолжаем учиться программировать на PHP. На этот раз я расскажу о замечательной конструкции switch case. По принципу работы очень сильно похожа на конструкцию if — else , которую мы уже ранее рассматривали.

Есть такая негласная рекомендация по использованию switch-case, если операторов if — else более 5-ти. Но предлагаю не заморачиваться по этому поводу, но к конструкции присмотреться smile. Она имеет следующий вид:

switch (проверяемое выражение)

{

case значение_1: команды_1; [break;]

. . .

case значение_N: команды_N; [break;]

[default: команды_по_умолчанию; [break]]

}

Где:

  • проверяемое выражение — Это переменная, которой мы сопоставляем Значение
  • значение_1 (значение_N) — Это непосредственно значение, которое сопоставляется с переменной
  • команды_1 (команды_N) — Выполняемые команды при соответствии значение_1 (значение_N)
  • [default: команды_по_умолчанию; [break]] — Действие которое выполняется если проверяемое выражение не смогло сопоставиться со значением.

Вроде как разобрались. Давайте посмотрим на примеры. Сейчас я приведу исходный код который вы даже можете сравнить, в нем будет использоваться 2 конструкции Это непосредственно switch case, а так-же if else. Результат их выполнения будет одинаков, но так Вы сможете выбрать что лучше для себя использовать.

// Конструкция на IF
<?
$perem = 1;
if ($perem == 0)
{
echo "perem = 0 < br >";
}
elseif ($perem == 1)
{
echo "perem = 1 < br >";
}
elseif ($perem == 2)
{
echo "perem = 2 < br >";
}
// Конструкция на switch-case
switch ($perem)
{
case 0:
          echo "perem = 0 < br >";
                break;
case 1:
          echo "perem = 1 < br >";
                break;
case 2:
          echo "perem = 2 < br >";
                break;
}
?>

Результатом выполнения буду 2 строчки «perem = 2». Советую еще раз посмотреть и разобраться, а также поэкспериментировать.

Дальше усложняем задачу (Извините без этого я никак не могу). Сейчас приведу пример со значением по умолчанию, смотрим:

<?php
$perem = 3;
switch ($perem)
{
case 0:
          echo "perem = 0";
                break;
case 1:
          echo "perem = 1";
                break;
case 2:
          echo "perem = 2";
                break;
default:
          echo "perem не равна 0 или 1 или 2";
}
?>

Результатом выполнения последнего примера будет строчка «perem не равна 0 или 1 или 2».

Поэкспериментируйте и по разбирайтесь. Узнайте как все это работает.

С уважением Ваш ИТ Инженер.


проводишь мероприятия на природе? Позаботься о чистоте, возьми себе туалетные кабины в аренду в СПб. Недопусти грязи и неудобства своим посетителям.

Если у Вас Возникли вопросы или что-то не получилось, то мы Вас ждем на нашем форуме технической поддержки — Service Desk УМВР, Ждем Ваших отзывов и предложений, а так-же вопросов и пожеланий!

twitter.com facebook.com

Похожие записи

Условия if, else и switch в PHP

В этой статье будет разобран механизм условий if. В программировании условие if — это одни из основных инструментов. Давайте посмотрим, как это работает:

<?php
   if( /* условие */ ){
      /* код в этих скобках будет выполняться, 
      если "условие" является правдой */
   }else{
      /* код в этих скобках будет выполняться, 
      если "условие" является ложью */
   }
?>

Обратите внимание, что можно записать if( … ){ … } без блока else{ … }. Также можно записать оба блока без фигурных скобок, но тогда выполнится только следующая строчка после if или else. Приведём пример и попробуем написать код с возможными условиями:

<?php
   $a = 4;

   if( $a  3  ) echo 'Это правда'; // значение $a больше 3

   if( $a >= 3  ) echo 'Это правда'; // значение $a больше или равно 3

   if( $a == 4 ) echo 'Это правда'; // значение $a равно 4

   if( $a == 2 * 2 ) echo 'Это правда';// значение $a равно 4 (потому что 2*2=4)

   if( $a != 7 ) echo 'Это правда';// значение $a НЕ равно 7
?>

Во всех перечисленных примерах будет выведена строка «Это правда», потому что условие выполняется.

Не забывайте, что одиночное равно «=» делает операцию присваивания. А двойное «==» сравнивает значения. Условие с одним равно if($a = 1) всегда будет исполняться.

Помимо сравнения по значению есть ещё и сравнение по типу. К примеру:

<?php
   $a = true; // тип данных boolean (имеет два значения true и false)

   if( $a === true ) echo 'Это правда'; // значение $a имеет тип и равно true

   if( $a !== false ) echo 'Это правда'; // значение $a не имеет тип или не равно false
?>

Условие может быть как в одну строку, так и в несколько. Ещё условие может содержать конец и начало PHP кода. Приведём пример:

<?php
   $a = 1;

   if( $a == 1 ){
      ?>
         <div>Условие выполнено</div>
      <?php 
   }else{ 
      ?>
         <div>Условие не выполнено</div>
      <?php 
   }
?>

Если запустить такой код, то на экране появится HTML страница с блоком «Условие выполнено». Подобную запись, когда в условие if вставляют разрыв PHP кода, можно встретить довольно часто в больших проектах.

Помимо if и else есть ещё elseif. Последнее используется для создания множественных условий. Приведём наглядный пример:

<?php
   $a = 2;

   if( $a == 1 ){
      echo $a . ' == 1';
   }elseif($a 

В таком коде условия будут проверять по порядку. Сначала проверится $a == 1 и оно окажется ложью. Будет проверено следующее условие по списку $a — это условие является истиной, поэтому в результате выполнения этого PHP кода на экран браузера будет выведен текст «2 «. Но если бы и это условие не подошло, то было бы проверено следующее $a . Но если и оно бы не подошло, то была бы выполнено то, что стоит в else{ … } — на экран бы было выведен текст «Ничего не подходит«.

Возможно сделать несколько проверок внутри скобок if( … ). Для этого используются логические операторы and (и) / or (или). Также возможно ставить скобки внутри условий. Эти скобки работают как скобки в математике. Разберём всё на примере:

<?php
   $a = 2;
   $b = 3;
   $c = 4;

   if( $a == 2 and $b 

Конструкция switch

Если необходимо выполнить разный код при определённых значениях аргумента, то для большого количества проверок подойдёт switch( … ). Продемонстрируем работу этой функции наглядно:

<?php
   $a = 2;

   switch ($a) {
      case 1:
         echo 'Переменная $a равна одному';
      break;
      case 2: 
         echo 'Переменная $a равна двум';
      break;
      case 'три': 
         echo 'Переменная $a равна трём';
      break;
      default:
         echo 'Значение не найдено'; 
      break;
   }
?>

В результате выполнения этого кода на экране браузера появится надпись «Переменная $a равна двум«. Это происходит потому, что функция switch берёт значение переменной $a и начинает сравнивать со значениями, которые стоят после слова «case«. Эти значения могут быть как строки, так и числа. В примере $a = 2, поэтому функция выполнила код, стоящий в пункте «case 2:«.

Конструкции switch в реальных проектах сайтов встречаются довольно редко. Обычно хватает if-else, или на крайний случай несколько раз вложенных if-else.

PHP: switch — Инструкция

переключатель

(PHP 4, PHP 5, PHP 7)

Оператор switch аналогичен серии
Операторы IF для одного и того же выражения. Во многих случаях вы можете
хотите сравнить одну и ту же переменную (или выражение) со многими
разные значения и выполнять другой фрагмент кода в зависимости от
на каком значении оно равно. Это именно то, что
Переключатель Оператор предназначен для.

Примечание :

Обратите внимание, что в отличие от некоторых других языков,
продолжить заявление
применяется к переключателю и действует аналогично переключателю .если ты
иметь переключатель внутри цикла и вы хотите перейти к следующей итерации
внешний цикл используйте continue 2 .

Примечание :

Обратите внимание, что переключатель / корпус
вольное сравнение.

Следующие два примера представляют собой два разных способа написания
то же самое, если использовать серию , если и
elseif операторов, а другой с использованием
переключатель заявление:

Пример № 1 коммутатор структура


if ($ i == 0) {
echo "i равно 0";
} elseif ($ i == 1) {
echo "i равно 1";
} elseif ($ i == 2) {
echo "i равно 2";
} Переключатель

(

$ i) {
case 0:
echo "i равно 0";
перерыв;
case 1:
echo "i равно 1";
перерыв;
case 2:
echo "i равно 2";
перерыв;
}
?>

Пример # 2 Структура switch позволяет использовать строки


switch ($ i) {
case "apple":
echo "i is apple";
перерыв;
case "bar":
echo "i is bar";
перерыв;
футляр "торт":
эхо "я - торт";
перерыв;
}
?>

Важно понимать, как коммутатор
Оператор выполняется во избежание ошибок.В
switch инструкция выполняется построчно
(собственно, заявление за утверждением). Вначале код не
выполнен. Только при обнаружении case statement
выражение которого оценивается как значение, соответствующее значению
переключатель выражение начинает ли PHP выполнять
заявления. PHP продолжает выполнять инструкции до конца
блока переключателя , или впервые видит
перерыв заявление. Если вы не напишите
перерыв заявление в конце дела
список операторов, PHP продолжит выполнение операторов
следующий случай.Например:


switch ($ i) {
case 0:
echo "i равно 0";
case 1:
echo "i равно 1";
case 2:
echo "i равно 2";
}
?>

Здесь, если $ i равно 0, PHP выполнит все эхо
заявления! Если $ i равно 1, PHP выполнит последние два
эхо-заявления. Вы получите ожидаемое поведение (‘i равно 2’
будет отображаться), только если $ i равно 2.Таким образом,
важно не забыть перерыв утверждения
(даже если вы, возможно, захотите избежать их преднамеренной передачи в
определенные обстоятельства).

В операторе переключения условие
оценивается только один раз, и результат сравнивается с каждым
корпус заявление. В elseif
заявление, условие оценивается снова. Если ваше состояние
сложнее простого сравнения и / или находится в замкнутом цикле,
коммутатор может быть быстрее.

Список операторов для кейса также может быть пустым, что просто
передает управление в список операторов для следующего случая.


switch ($ i) {
case 0:
case 1:
case 2:
echo "i меньше 3, но не отрицательное";
перерыв;
case 3:
echo "i is 3";
}
?>

Особым случаем является случай по умолчанию . Этот случай соответствует
все, чего не было в других случаях.Например:


switch ($ i) {
case 0:
echo "i равно 0";
перерыв;
case 1:
echo "i равно 1";
перерыв;
case 2:
echo "i равно 2";
перерыв; По умолчанию
:
echo «i не равно 0, 1 или 2»;
}
?>

Примечание :

Несколько случаев по умолчанию вызовут
E_COMPILE_ERROR ошибка.

Альтернативный синтаксис для управляющих структур поддерживается
переключатели. Для получения дополнительной информации см. Альтернативный синтаксис.
для управляющих структур.


switch ($ i):
case 0:
echo "i равно 0";
перерыв;
case 1:
echo "i равно 1";
перерыв;
case 2:
echo "i равно 2";
перерыв;
по умолчанию:
echo «i не равно 0, 1 или 2»;
концевой выключатель;
?>

Можно использовать точку с запятой вместо двоеточия после такого случая, как:


switch ($ beer)
{
case 'tuborg';
футляр "карлсберг";
футляр "хейнекен";
echo «Хороший выбор»;
перерыв;
по умолчанию;
echo 'Сделайте новый выбор... ';
перерыв;
}
?>

Оператор переключения PHP

Резюме : в этом руководстве вы узнаете, как использовать оператор переключения PHP , который предоставляет другой способ условного выполнения блока кода.

Введение в оператор переключения PHP

В дополнение к оператору if в PHP есть оператор переключения , который позволяет выполнять блок кода условно. Оператор PHP switch сравнивает переменную или выражение с множеством разных значений и выполняет блок кода на основе значения, которому он равен.

Синтаксис оператора switch показан ниже:

switch (переменная) {

case value1:

// кодовый блок 1

break;

case value2:

// кодовый блок 2

break;

по умолчанию:

// блок кода по умолчанию

break;

}

Давайте рассмотрим синтаксис оператора switch более подробно:

  • Сначала вы помещаете переменную или выражение, которое вы хотите проверить, в круглые скобки после ключевого слова switch .
  • Во-вторых, внутри фигурных скобок находится несколько конструкций case , в которые вы помещаете значения, которые хотите сравнить с переменной или выражением. В случае, если значение переменной или выражения совпадает со значением в конструкции case , будет выполнен блок кода в соответствующей конструкции case . Если значение переменной или выражения не соответствует никакому значению, будет выполнен блок кода в конструкции по умолчанию .
  • В-третьих, оператор break используется в каждой конструкции case или по умолчанию для выхода из всего оператора switch.

Очень важно понимать, что оператор switch выполняется оператор за оператором, поэтому порядок конструкций case очень важен. Если значение переменной соответствует значению в конструкции case , PHP выполнит блок кода в этой конструкции case и завершит оператор switch из-за оператора break .

php switch statement php switch statement

PHP switch примеры операторов

Давайте посмотрим на следующий пример.

$ x = rand (0,3);

переключатель ($ x) {

case 0: echo ‘x is equal 0’;

перерыв;

случай 1: эхо ‘x равно 1’;

перерыв;

случай 2: эхо ‘x равно 2’;

перерыв;

случай 3: эхо ‘x равно 3’;

перерыв;

}

Сначала мы получили случайное число от 0 до 3 и присвоили его переменной $ x .Затем мы сравнили значение $ x с 0, 1, 2 и 3 и отобразили соответствующее сообщение, если $ x равно одному из этих чисел.

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

1

2

3

4

5

6

7

8

9

10

11 12

15

16

17

18

19

20

21

22

23

24

25

9000 ‘

tech

$ сообщение = »;

switch ($ tech) {

case ‘PHP’:

$ msg = ‘PHP — это круто’;

перерыв;

case ‘Perl’:

$ msg = ‘Perl потрясающий’;

перерыв;

case ‘Python’:

$ msg = ‘Perl прекрасен’;

перерыв;

case ‘Java / JSP’:

$ msg = ‘JSP надежен’;

перерыв;

case ‘C # / ASP.NET ‘:

$ msg =’ C # / ASP.NET великолепен ‘;

перерыв;

по умолчанию:

$ msg = ‘Какую технологию вы используете?’;

перерыв;

}

echo $ msg;

Оператор break помещается в конец каждой конструкции case для выхода из всего оператора switch . Если вы хотите выполнить действие, когда переменная или выражение соответствует одному из разных значений, вы можете использовать оператор break следующим образом:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$ сообщение = »;

переключатель ($ command) {

case ‘save’:

$ message = ‘Сохранить статью’;

перерыв;

case ‘open’:

$ message = ‘Открыть статью’;

перерыв;

case ‘close’:

case ‘logout’:

$ message = ‘Вы хотите покинуть страницу без сохранения статьи?’;

перерыв;

}

echo $ message;

Если команда $ равна закрыть или выйти из системы , сценарий отобразит то же сообщение.

В этом руководстве мы показали вам, как использовать оператор PHP switch для управления потоком выполнения кода на основе значения переменной или выражения.

  • Было ли это руководство полезным?
  • Да Нет

PHP оператор case switch case


Home — Tutorials — Basics

В этом руководстве я покажу вам с помощью кода eaxmples, как использовать оператор switch — case в PHP.

Учебная информация:


Начальный уровень Закладка PHP switch case statement


Шаг 1. Основные сведения о регистре переключения


Оператор PHP switch case

Оператор переключения — это специальный формат условных операторов.Это может быть очень полезно и делает ваш код более читабельным, если вам нужно принять много решений с помощью оператора if — elseif — else. Помимо этого, отладку, поддержку может быть лучше отладить фрагмент кода корпуса переключателя, что может привести к более быстрому коду. Однако у него есть один недостаток: обычно программисты забывают об операторах break в конце каждого блока инструкции.

Общий поток кода можно увидеть на блок-схеме ниже.

Switch case flowchart

Предположим следующий пример, где мы используем решение if-else:

Пример кода:

  1.  $ x = 3; 
  2.  
  3.  if ($ x == 0) {
  4.  echo "0"; 
  5. } elseif ($ x == 1) {
  6.  echo "1"; 
  7. } elseif ($ x == 2) {
  8.  echo "2"; 
  9. } elseif ($ x == 3) {
  10.  echo "3"; 
  11. } elseif ($ x == 4) {
  12.  echo "4"; 
  13. } else {
  14.  echo "Не распознано"; 
  15. } 

В этом коде мы сравниваем одну и ту же переменную с множеством разных значений с помощью оператора if.Однако это тот случай, когда мы могли бы также использовать структуру управления switch — case, например:

Пример кода:

  1.  $ x = 3; 
  2.  
  3.  переключатель ($ x) {
  4.  case 0: 
  5.  echo "0"; 
  6.  перерыв; 
  7.  case 1: 
  8.  echo "1"; 
  9.  перерыв; 
  10.  case 2: 
  11.  echo «2»; 
  12.  перерыв; 
  13.  case 3: 
  14.  echo "3"; 
  15.  перерыв; 
  16.  case 4: 
  17.  echo "4"; 
  18.  перерыв; 
  19. } 

Хотя решение переключателя не приводит к более короткому коду, его немного легче понять.Однако вы должны позаботиться об операторах break, которые работают как терминатор блока кода.
Этот пример не совсем то же самое, что и версия «if», например, в случае $ x = 10 этот код ничего не печатает. Чтобы решить эту проблему, мы можем расширить наш оператор switch.

Extend swich statement with default

Для решения предыдущей проблемы мы можем расширить наш код частью по умолчанию. Код в этом блоке работает как блок else в случае утверждения if. Таким образом, полный оператор switch будет выглядеть так:

Пример кода:

  1.  $ x = 13; 
  2.  
  3.  переключатель ($ x) {
  4.  case 0: 
  5.  echo "0"; 
  6.  перерыв; 
  7.  case 1: 
  8.  echo "1"; 
  9.  перерыв; 
  10.  case 2: 
  11.  echo «2»; 
  12.  перерыв; 
  13.  case 3: 
  14.  echo "3"; 
  15.  перерыв; 
  16.  case 4: 
  17.  echo "4"; 
  18.  перерыв; 
  19.  по умолчанию: 
  20.  echo «Не распознано»; 
  21.  перерыв; 
  22. } 

Регистр по умолчанию соответствует всему, что не соответствует другим наблюдениям, и должен быть последним оператором case.Если вам нужна дополнительная информация об операторе switch case, вы можете посетить соответствующий сайт википедии и официальные страницы руководства php.



Теги: корпус переключателя PHP, переключатель PHP, корпус PHP, корпус переключателя, php, переключатель, корпус

PHP-оператор switch case с 2 демонстрациями онлайн

Синтаксис использования корпуса Switch

Случай переключения входит в число операторов принятия решений в PHP.

Прежде чем объяснять цель и различие между другим заявлением о принятии решения (если..else) в более поздней части, давайте сначала рассмотрим синтаксис и живые примеры его использования.

Ниже приведен общий способ использования оператора PHP switch case:

Имя: Оператор PHP switch case
Всего шагов: 1
Категория: Основы

1

2

3

4

5

6

7

8

9

10

11

12

13

14

14

18

19

20

21

Switch (выражение) {

case 1:

// Код для выполнения здесь

break;

case 2:

// Код для case 2

break;

по умолчанию:

// Код случая по умолчанию здесь

// Это будет выполнено, если ни один из вариантов не верен

}

Блок-схема выписки о корпусе коммутатора

PHP Swtich Case

Пример оператора смены регистра

Это базовый пример использования переключателя PHP с 5 вариантами и вариантом по умолчанию.Мы просто объявили переменную и присвоили ей значение. Переменная используется как выражение в инструкции switch.

После этого создаются пять наблюдений для постоянных значений от 1 до 5. Какой бы случай не оценивался как истинный, в этом случае его 5, значение переменной будет отображаться с использованием оператора echo . См. Пример и код, щелкнув ссылку или изображение ниже:

PHP_swtich_case_demo_1

Посмотреть онлайн-демонстрацию и код

Пример корпуса переключателя в PHP с месяцами

В следующем примере мы использовали функцию даты, чтобы получить номер текущего месяца.Номер месяца можно получить с помощью символа форматирования даты «n» в функции даты.

Текущий месяц назначается переменной, которая действует как выражение в операторе PHP switch case. Затем мы создали двенадцать наблюдений, и в зависимости от того, какое из них истинно, будет отображаться название месяца.

В реальном программировании это может быть весьма полезно в некоторых сценариях, где вы можете получить текущий месяц и выполнить какое-то действие на его основе.

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

Посмотрите пример и код, щелкнув ссылку или демонстрационное изображение ниже:

PHP-swtich-with-month

См. Онлайн-демонстрацию и код

Как использовать корпус переключателя ‘или’ в PHP?

Проблема: Как использовать корпус переключателя «или» в PHP?
Решение: Этого можно добиться двумя способами. Это следующие:
Метод 1: Без использования ключевого слова break в одном из вариантов переключения.
Пример:

$ вариант = 1;

переключатель ( $ опция )

{

корпус 1:

корпус 2:

echo "Возможен вариант 1 или 2." ;

перерыв ;

}

?>

Выход:

Возможен вариант 1 или 2.
 

Метод 2: Использование оператора или в корпусе переключателя.
Пример:

$ вариант = 1;

переключатель ( $ опция ) {

корпус ( $ опция == 1 || $ опция == 2):

echo 'Возможен вариант 1 или 2' ;

перерыв ;

}

?>

Выход:

Возможен вариант 1 или 2.
 

Ссылка: http: // php.сеть / руководство / en / control-structure.switch.php



Если вам нравится GeeksforGeeks и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на [email protected]. См. Вашу статью в Geeksfor

PHP SWİTCH CASE KULLANIMI

переключатель deyimi, verilen bir değişkenin değerinin sıraladığımız koşullardan hangisine uygun olduğunu sınar ve o koşula ilişkin komutları icra eder.PHP'nin yaptığı işi bitirdikten sonra switch deyiminin dışına çıkmasını sağlayan, перерыв komutu vardır.

imdi şöyle birşey düşünüyor olabilirsiniz switch ile yaptığınız işi if yapısı ile de yapabilirim diyorsunuz, doğru düşünüyorsunuz fakat;
Бурада переключатель yapısının avantajı daha düzenli kod yazmamızı ве ölçülen Performans (hızı), если ... Elseif yapısına göre hızlı çalışmasıdır. Kullanımı şu şekildedir.

 

 
 

Seçilen değişkenin değeri hangi duruma uyarsa o durum altındaki komutlar çalışır. перерыв ifadesi, durum sağlanırsa başka durumlara bakılmasını engellemek için kullanılır.
Eğer break kullanmazsanız durumlardan biri sağlandığında, ondan sonraki tüm durumlar da çalıştırılır.

Корпус переключателя yapısı ile bir örnek yapalım:

ÖRNEK:

 

 
 

Burada $ sayi değişkeninin değerlerine bakıyoruz.Değeri 1 olduğundan ekrana Sayı 1'dir; yazacaktır. Bir de bu yapıyı if ... elseif yapısı ile yapalım:

ÖRNEK:

 

 
 

Görüldüğü üzere aynı işlemi rahatlıkla if ... elseif ile de yapabilirsiniz. Tercih sizindir. Hızlı çalışması bakımdan büyük sistemlerde switch özelliğini mutlaka kullanın.

imdi basit bir hesap makinası programı yapalım:

 

 
 

100 üzerinden alınan notun Harf not karşılığını yazalım:

 
 

строка ifadeli örnek yapalım:

 

 
 

Bu kez değişik bir örnek yapalım:

 

 
 

Yukarıda ки örneği açıklamaya çalışalım.Бир durumdan sonra komut yazmak zorunda değilsiniz. Бу, sonraki duruma geçmek için kullanılır.

Yaz meyvelerinden Kiraz, Karpuz olması fark etmiyor. Eğer bu durumlardan birine girilirse break olmadığı için şeftali meyvesine kadar gidilir ve ekrana yaz meyvesini yazar.
Sonra перерыв ile Kış meyvelerine geçişi engellenir.

Aynı mantıkla Mandalin, Portakal için break kullanılmayarak greyfurt meyvesine gidiliyor ve ekrana kış meyvesi yazılır.Break komutu ile çıkılır.

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır.

.

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

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