Содержание

PHP: switch — Manual

switch

(PHP 4, PHP 5, PHP 7, PHP 8)

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

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

Замечание:

Заметьте, что конструкция switch/case использует нестрогое сравнение (==).

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

Пример #1 Оператор switch

<?php
if ($i == 0) {
    echo "i равно 0";
} elseif ($i == 1) {
    echo "i равно 1";
} elseif ($i == 2) {
    echo "i равно 2";
}

switch (

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

Пример #2 Оператор switch допускает сравнение с типом string

<?php
switch ($i) {
    case "яблоко":
        echo "i это яблоко";
        break;
    case "шоколадка":
        echo "i это шоколадка";
        break;
    case "пирог":
        echo "i это пирог";
        break;
}
?>

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

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

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

В этом примере, если $i равно 0, то PHP исполнит все операторы echo! Если

$i равно 1, PHP исполнит два последних оператора echo. Вы получите ожидаемое поведение оператора (‘i равно 2’ будет отображено) только, если $i будет равно 2. Таким образом, важно не забывать об операторах break (даже если вы, возможно, хотите избежать его использования по назначению при определённых обстоятельствах).

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

может работать быстрее.

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

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

Специальный вид конструкции case — default. Сюда управление попадает тогда, когда не сработал ни один из других операторов case. Например:

<?php
switch ($i) {
    case 0:
        echo "i равно 0";
        break;
    case 1:

        echo "i равно 1";
        break;
    case 2:
        echo "i равно 2";
        break;
    default:
       echo "i не равно 0, 1 или 2";
}
?>

Замечание: Несколько указаний default вызовут ошибку E_COMPILE_ERROR.

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

<?php
switch ($i):
    case 0:
        echo "i равно 0";
        break;
    case 1:
        echo "i равно 1";
        break;
    case 2:

        echo "i равно 2";
        break;
    default:
        echo "i не равно 0, 1 или 2";
endswitch;
?>

Возможно использование точки с запятой вместо двоеточия после оператора case. К примеру :

<?php
switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Хороший выбор';
        break;
    default;
        echo 'Пожалуйста, сделайте новый выбор...';
        break;
}
?>

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;
  }

?>

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

switch | Руководство по PHP

(PHP 4, PHP 5, PHP 7)

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

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

Замечание:

Заметьте, что конструкция swich/case использует неточное сравнение (==).

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

Пример #1 Оператор switch

<?php
if ($i == 0) {
    echo "i равно 0";
} elseif ($i == 1) {
    echo "i равно 1";
} elseif ($i == 2) {
    echo "i равно 2";
}

switch (

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

Пример #2 Оператор switch допускает сравнение со строками

<?php
switch ($i) {
    case "яблоко":
        echo "i это яблоко";
        break;
    case "шоколадка":
        echo "i это шоколадка";
        break;
    case "пирог":
        echo "i это пирог";
        break;
}
?>

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

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

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

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

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

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

Специальный вид конструкции case — default. Сюда управление попадает тогда, когда не сработал ни один из других операторов case. Например:

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

Выражением в операторе case может быть любое выражение, которое приводится в простой тип, то есть в тип integer, или в тип с плавающей точкой (float), или строку. Массивы или объекты не могут быть здесь использованы до тех пор, пока они не будут разыменованы до простого типа.

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

<?php
switch ($i):
    case 0:
        echo "i равно 0";
        break;
    case 1:
        echo "i равно 1";
        break;
    case 2:
        echo "i равно 2";
        break;
    default:
        echo "i не равно to 0, 1 или 2";
endswitch;
?>

Возможно использование точки с запятой вместо двоеточия после оператора case. К примеру :

<?php
switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Хороший выбор';
    break;
    default;
        echo 'Пожалуйста, сделайте новый выбор...';
    break;
}
?>

Вернуться к: Управляющие конструкции

PHP | Конструкции switch и match

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

Последнее обновление: 07.03.2021

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

Конструкция switch..case является альтернативой использованию конструкции if..elseif..else. Оператор switch получает некоторое выражение и сравнивает его с набором значений:


switch (выражение){
	case значение1: действия; break;
	case значение2: действия; break;
	//...........................
	case значениеN: действия; break;
}

После ключевого слова switch в скобках идет сравниваемое выражение. Значение этого выражения последовательно сравнивается со значениями, помещенными после операторов сase. И если совпадение будет найдено, то будет выполняться определенный блок сase.

Конструкция switch может содержать произвольное количество операторов case. В конце блока сase ставится оператор break, чтобы избежать выполнения других блоков.

Весь блок switch помещается в фигурные скобкиб однако блок каждого отдельного оператора case НЕ помещается в фигурные скобки.

Например, возьмем следующую конструкцию if..elseif..else:


$a = 3;
if($a==1)     echo "сложение";
elseif($a==2) echo "вычитание";
elseif($a==3) echo "умножение";
elseif($a==4) echo "деление";

Теперь перепишем ее с помощь конструкции switch..case:


$a = 3;
switch($a)
{
	case 1: 
		echo "сложение";
		break;
	case 2: 
		echo "вычитание";
		break;
	case 3: 
		echo "умножение";
		break;
	case 4: 
		echo "деление";
		break;
}

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


case 3: 
	echo "умножение";
	break;

и этот блок и будет выполняться.

Если мы хотим также обработать ситуацию, когда совпадения не будет найдено, то можно добавить блок default:


$a = 3;
switch($a)
{
	case 1: 
		echo "сложение";
		break;
	case 2: 
		echo "вычитание";
		break;
	default: 
		echo "действие по умолчанию";
		break;
}

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


$a = 3;
switch($a):
	case 1: 
		echo "сложение";
		break;
	case 2: 
		echo "вычитание";
		break;
	default: 
		echo "действие по умолчанию";
		break;
endswitch

match

Начиная с версии 8.0 в PHP была добавлена поддержка другой, похожей конструкции — match. Она позволяет оптимизировать конструкцию switch. Конструкция match также принимает некоторое выражение и сравнивает его с набором значений.

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


$a = 2;
switch($a)
{
	case 1: 
		$operation = "сложение";
		break;
	case 2: 
		$operation = "вычитание";
		break;
	default: 
		$operation = "действие по умолчанию";
		break;
}
echo $operation;

Перепишем этот пример с использованием match:


$a = 2;
$operation = match($a)
{
	1 => "сложение",
	2 => "вычитание",
	default => "действие по умолчанию",
};
echo $operation;

Итак, match в скобках также принимает некоторое сравниваемое выражение (в данном случае это переменная $a). Сам блок кода match также обертывается в фигурные скобки, однако в конце после закрывающей фигурной скобки необходимо поставить точку с запятой. А вместо операторов case просто указываются значения, с которыми сравнивается выражение.

Но в отличие от switch, конструкция match возвращает некоторый результат. Поэтому после каждого сравнимого значения ставится оператор =>, после которого идет возвращаемый результат.

То есть в данном случае переменная $a равна 2, поэтому в конструкции match будет выполнять блок

2 => "вычитание",

Этот блок установит в качестве возвращаемого результата строку "вычитание".

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

$operation = match($a){
	//.................
}

В итоге в переменной $operation будет храниться строка "вычитание".

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


$a = 2;
match($a)
{
	1 => $operation = "сложение",
	2 => $operation = "вычитание",
	default => $operation = "действие по умолчанию",
};
echo $operation;
Сравнение значений и типов

Стоит отметить важное отличие конструкции switch от match: switch сравнивает только значение, но не учитывает тип выражения. Тогда как match также учитывает тип сравниваемого выражения. Рассмотрим разницу на примере. Пусть есть следующая конструкция switch:


switch (8.0) {
  case "8.0":
    $result = "строка";
    break;
  case 8.0:
    $result = "число";
    break;
}
echo $result; // строка

В конструкцию switch передается в качестве выажения число 8.0, но с точки зрения внутренней логики конструкции switch это выражение также соответствует строке «8.0». Поэтому в данном случае будет выполняться блок


case "8.0":
    $result = "строка";
    break;

Теперь посмотрим, что будет в аналогичном примере с match:


match (8.0) {
  "8.0" => $result = "строка",
  8.0 => $result = "число"
};
echo $result; // число

Конструкция match также будет учитывать тип выражения, а тип в данном случае float, поэтому будет выполняься блок:

8.0 => $result = "число"

Урок 9. PHP — Switch

В предыдущих уроках мы рассмотрели различные элементы, которые позволяют организовать проверку условия в PHP. Тем не менее, бывают случаи, когда оператор IF…Else не самый эффективный способ для проверки определенных условий.

Например, мы могли бы иметь переменную, которая хранит определенное значение, и вы хотите, чтобы выполнялось какое-то действие в зависимости от значения этой переменной. В таком случае вы можете иметь 20 различных вариантов, которые вы должны обработать с безумно длинным блоком If / ElseIf / ElseIf / ElseIf / … и так далее. Да уж, выглядит неважно, давайте посмотрим, можем ли мы сделать что-то другое.

PHP оператор Switch: Быстрая проверка

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

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

PHP оператор Switch: Пример

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


$destination = "Tokyo";
echo "Отправляемся в $destination<br />";
switch ($destination){
	case "Las Vegas":
		echo "Берем с собой $5000! Вегас детка!";
		break;
	case "Amsterdam":
		echo "Парочка газет, фольга...";
		break;	
	case "Egypt":
		echo "50 бутылок солнцезащитного крема.";
		break;	
	case "Tokyo":
		echo "Берем деньги на сувениры.";
		break;
	case "Caribbean Islands":
		echo "Захватите трусы для плавания!";
		break;	
}

Результат:
Отправляемся в Tokyo
Берем деньги на сувениры.

Значение переменной $destination было Токио, поэтому, когда PHP выполнял оператор свитч, то на $destination он сразу сделал поиск для случая со значением «Токио». Он нашел его и продолжил выполнять код, который был прописан в этом сегменте.

Вы могли заметить, что каждый случай содержит break. Этот break как раз и позволяет во всех остальных случаях ничего не выполнять. Если бы в приведенном выше примере не было брейка, то код бы выполнялся не только в случае значения Токио! Используйте эти знания и никогда не нагромождайте десятки условий там, где можно обойтись одним свитчем!

Форма Switch достаточно уникальна, поэтому потратьте некоторое время на ее рассмотрение, прежде чем двигаться дальше. Примечание: начинающие программисты пренебрегают этой конструкцией, что неправильно и затрудняет чтение кода, а так же негативно сказывается на производительности!

PHP оператор Switch: действие по умолчанию

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

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


$destination = "New York";
echo "Отправляемся в $destination<br />";
switch ($destination){
	case "Las Vegas":
		echo "Берем с собой $5000! Вегас детка!";
		break;
	case "Amsterdam":
		echo "Парочка газет, фольга...";
		break;	
	case "Egypt":
		echo "50 бутылок солнцезащитного крема.";
		break;	
	case "Tokyo":
		echo "Берем деньги на сувениры.";
		break;
	case "Caribbean Islands":
		echo "Захватите трусы для плавания!";
		break;	
	default:
		echo "Бельишко чистое не забудьте!";
		break;
}

Результат:
Отправляемся в New York
Бельишко чистое не забудьте!

Готово! Теперь вы умеете обращаться с PHP конструкцией Switch и знаете в каких случаях ее лучше использовать.

← Условный оператор | Содержание | Функции →

Оператор 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: переключатель — ручной

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

(PHP 4, PHP 5, PHP 7, PHP 8)

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

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

Примечание :

Обратите внимание, что switch/case делает свободное сравнение.

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

Пример №1 переключатель конструкция

if ($i == 0) {
    echo "i равно 0";
} elseif ($i == 1) {
    echo "i равно 1";
} elseif ($i == 2) { ​​
    echo "i равно 2";
}

switch (

$i) {
    case 0:
        echo "i equal 0";
        разрыв;
    случай 1:
        echo "i равно 1";
        разрыв;
    случай 2:
        echo "i равно 2";
        разрыв;
}
?>

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

switch ($i) {
    case "apple":
        echo "i is apple";
        разрыв;
    case "bar":
        echo "i is bar";
        разрыв;
    case "торт":
        echo "я это торт";
        разрыв;
}
?>

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

switch ($i) {
    case 0:
        echo "i equal 0";
    случай 1:
        echo "i равно 1";
    случай 2:
        echo "i равно 2";
}
?>

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

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

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

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

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

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

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

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

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

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

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

Использование инструкции PHP Switch

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

Для чего используется оператор Switch?

В PHP оператор switch рассматривается как альтернатива операторам if-elseif-else. Чаще всего вы хотите сравнить переменную с разными значениями и на основе этого выполнить фрагмент кода.Первое, что приходит вам на ум, — это реализовать серию операторов if-elseif-else для достижения этой цели, как показано в следующем фрагменте кода.

 если ($favorite_site == 'Дизайн') {
    echo "Ваш любимый сайт - design.tutsplus.com!";
} elseif ($favorite_site == 'Код') {
    echo "Ваш любимый сайт - code.tutsplus.com!";
} elseif ($favorite_site == 'Бизнес') {
    echo "Ваш любимый сайт - business.tutsplus.com!";
} 

Если речь идет всего лишь о двух или трех условиях, можно реализовать их с помощью операторов if-elseif-else.Но если вам нужно иметь дело с несколькими условиями, и если вы реализуете это с помощью операторов if-elseif-else, код становится очень длинным, и им трудно управлять. В таких случаях идеально использовать оператор switch, и это именно то, для чего он предназначен.

Прежде чем мы продолжим и подробно обсудим оператор switch, давайте быстро посмотрим, как выглядит приведенный выше пример с оператором switch.

 переключатель ($favorite_site) {
    кейс "Дизайн":
        echo "Ваш любимый сайт — дизайн.tutsplus.com!";
        перерыв;
    случай 'Код':
        echo "Ваш любимый сайт - code.tutsplus.com!";
        перерыв;
    кейс "Бизнес":
        echo "Ваш любимый сайт - business.tutsplus.com!";
        перерыв;
} 

Разве это не выглядит намного компактнее и аккуратнее? Таким образом, оператор switch очень удобен, когда дело доходит до работы с несколькими условиями в вашем коде.

Синтаксис и примеры

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

Синтаксис

Давайте рассмотрим синтаксис оператора switch.

Переключатель
 (выражение)
{
  значение случая1:
    // код, который будет выполнен, если выражение равно value1
    перерыв;
  значение случая2:
    // код, который будет выполнен, если выражение равно value2
    перерыв;
  значение случая3:
    // код, который будет выполнен, если выражение равно value3
    перерыв;
    ...
    ...
  По умолчанию:
    // код, который будет выполнен, если ни один случай не совпал
} 

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

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

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

  

Если вы думаете, что он выведет только Ваш любимый сайт — это код.tutsplus.com! , вы ошибаетесь! Это выведет:

 Ваш любимый сайт — code.tutsplus.com!
Ваш любимый сайт — business.tutsplus.com! 

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

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

Таков синтаксис оператора switch. В следующем разделе мы увидим пару реальных примеров.

Примеры

Теперь вы знакомы с синтаксисом оператора switch и уже рассмотрели пару основных примеров в предыдущем разделе.В этом разделе мы рассмотрим пару расширенных примеров оператора switch.

Несколько обращений к одному и тому же кодовому блоку

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

  

Иногда вы хотите выполнить один и тот же фрагмент кода для разных случаев. Приведенный выше пример демонстрирует это. В приведенном выше примере, если значение переменной $favorite_site равно «Дизайн» или «Код» или «Бизнес» , будет выполняться один и тот же код для всех этих трех случаев. В противном случае он выполнит код, связанный со случаем по умолчанию.

Выражение в операторах Switch

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

Давайте посмотрим, как можно использовать выражение в операторе switch, как показано в следующем примере.

  

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

Операторы вложенных переключателей

Наконец, вы также можете вкладывать операторы switch. Давайте посмотрим, как это работает, на следующем примере.

  

Как видите, вполне допустимо использовать оператор switch внутри другого оператора switch. Однако вы должны стараться избегать этого, так как это затрудняет чтение и поддержку вашего кода.

Заключение

Сегодня мы обсудили, как можно использовать оператор switch в PHP.Это действительно полезная функция языка, которая позволяет упростить длинные операторы if-elseif-else и делает ваш код ясным и читабельным.

Заявление о переключении

PHP | учеба сегодня вечером

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


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

выписка

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

Используя оператор switch , мы можем указать несколько условий вместе с кодом, который будет выполняться, когда это условие истинно , тем самым реализуя программу в стиле меню.

Синтаксис:

  переключатель(Х)
{
    значение случая1:
        // выполнить этот код, когда X=value1
        перерыв;
    значение случая2:
        // выполнить этот код, когда X=value2
        перерыв;
    значение случая3:
        // выполнить этот код, когда X=value3
        перерыв;
    ...
    По умолчанию:
        /* выполнить это, когда X не соответствует ни одному из
           из указанных вариантов */
}  

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

X может быть переменной или выражением.

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

Оператор break предназначен для прерывания выполнения оператора switch после выполнения действия, связанного с указанным значением.

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

Оператор по умолчанию выполняется, если нет подходящего регистра.

    

ягуар лучше всех



Заявление о переключении

PHP | кодеры

Оператор Switch может проходить через множество блоков кода.Он похож на оператор If Else, но его гораздо проще понять.

Синтаксис

  

Пример

Создайте новую переменную с именем num и присвойте ей значение 1.

  

Этот код будет выглядеть в выражении If Else так, как они похожи:

  

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

Пример 2 — Строки

  

Подобно приведенным выше операторам Switch, здесь вычисляется строка, а не целое число.Попробуйте ниже: введите 16, 17 или 18, и вы получите сообщение. Введите большее число, и появится другое сообщение, а если вы введете что-то еще, сработает значение по умолчанию.

Использование операторов

Вы можете использовать эти операторы, и они должны быть заключены в квадратные скобки ( ):

Оператор Описание Пример
< Менее ($ возраст < 20)
> Больше ($возраст > 20 лет)
<= ​​ Меньше или равно ($возраст <= 20)
>= Больше или равно ($возраст >= 20)
!= Не равно ($возраст != 20)
== равно ($возраст == 20)

Пример

Переключатель
 ($ возраст) {

    случай 16:
    echo 'Вы недостаточно взрослые, чтобы играть в GTA, но вы можете играть в GRID!';
    перерыв;


    случай 17:
    echo 'Вы достаточно взрослые, чтобы водить машину!';
    перерыв;

    случай 18:
    echo 'Вы достаточно взрослые, чтобы играть в GTA!';
    перерыв;


    случай ($возраст > 18):
    echo 'Ты очень старый!';
    перерыв;

    По умолчанию:
    echo 'Это было число?';

} 

В приведенном выше примере мы используем знак «больше», чтобы узнать, больше ли $age 18 лет.Вы также можете использовать оператор равенства для сравнения значений. Попробуйте приведенный выше пример ниже.

Попробуйте!

Чувствительность к регистру

Иногда вы можете собирать пользовательские данные и циклически просматривать результаты, но случаи могут различаться, что может повлиять на результаты. Например, возьмем это:

 $food = "Макароны";

переключатель ($ еда) {
чехол "макароны" :
            echo 'Это макароны';
            перерыв;
чехол "пицца" :
            echo 'Это пицца!';
            перерыв;

            По умолчанию:
            Эхо "Я не знаю";
} 

Это выведет «Я не знаю», потому что, хотя макароны и являются одним из ярлыков дела, они находятся в другом регистре.Мы можем решить эту проблему, используя функцию strtolower. Это заставит значение в $food быть строчным.

 $food = "Макароны";

переключатель (strtolower ($ еда)) {
чехол "макароны" :
            echo 'Это макароны';
            перерыв;
чехол "пицца" :
            echo 'Это пицца!';
            перерыв;

            По умолчанию:
            Эхо "Я не знаю";
} 

Теперь будет выведен правильный результат. Это будет работать только в том случае, если метки регистра написаны строчными буквами, поэтому убедитесь, что при вводе меток они написаны строчными буквами, а не прописными.Просто помните, что при сравнении чего-либо в разных регистрах вам придется перевести регистр либо в верхний, либо в нижний регистр; нижний, вероятно, лучше, так как большинство людей обычно не печатают в верхнем регистре.

Резюме

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

Как использовать регистр переключения «или» в PHP

Попробуйте использовать следующие примеры из этой статьи: http://phpswitch.com/

Возможные варианты переключателей:

(и). Простой оператор switch

Оператор switch чудесен и волшебен. Это часть языка, которая позволяет вам выбирать между различными вариантами значения и запускать разные фрагменты кода в зависимости от того, какое значение установлено.

Каждый возможный вариант задается регистром в операторе switch.

Пример:

  переключатель ($ bar)
{
    случай 4:
        echo "Это не тот номер, который вы ищете.\n";
        $foo = 92;
}
  

(ii). Разделительные кодовые блоки

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

Пример:

  случай 4:
    echo "Это не тот номер, который вы ищете.\п";
    $foo = 92;
    перерыв;

случай 5:
    echo "Копия Ringworld уже на пути к вам!\n";
    $foo = 34;
    перерыв;
  

(iii). Использование обхода для нескольких случаев

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

Пример:

случай 2:

  случай 3:
случай 4:
    echo "Это не тот номер, который вы ищете.\п";
    $foo = 92;
    перерыв;

случай 5:
    echo "Копия Ringworld уже на пути к вам!\n";
    $foo = 34;
    перерыв;
  

(iv). Расширенное переключение: случаи состояний

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

.

Пример:

  переключатель (правда)
{
    случай (strlen($foo) > 30):
        $error = "Указанное значение слишком длинное.[A-Z0-9]+$/i', $foo)):
        $error = "Значение должно быть буквенно-цифровым.";
    $ действительный = ложь;
    перерыв;

    По умолчанию:
    $ действительный = истина;
    перерыв;
}
  

Я думаю, это может помочь вам решить вашу проблему.

PHP Корпус переключателя | Тестирование мозга

Оператор PHP Switch case является альтернативой сложным операторам IF с тем же выражением. Это лучшая альтернатива операторам elseif, использующим одно и то же выражение.
Во многих ситуациях нам нужно сравнить переменную с разными значениями и нужны разные операции в соответствии со значениями.Оператор Switch подходит для этого требования.

См. синтаксическую структуру оператора switch case в программе PHP

переключатель (переменная $) {

case $value1 :
Операторы операций для этого значения1;
case $value2:
Операции для этого значения1;
case $value3:
Операторы операций для этого значения1;
по умолчанию :
Операционные операторы, когда нет соответствия во всех вышеперечисленных случаях;
}

Работа оператора switch case
Операторы switch выполняются построчно.Никакой код не будет выполняться до тех пор, пока не будет найден первый случай совпадения. После этого он будет выполнять все остальные коды case, пока не будет найден оператор break. Очень важно понимать это поведение, чтобы избежать ошибок с этим оператором.

Использование оператора break в случае переключения
Оператор Break используется, если мы хотим остановить выполнение других случаев, когда один случай соответствует нашему условию.
См. разницу в выводе для следующих двух примеров программ

 
 

Его вывод будет
1 2 НЕТ СОВПАДЕНИЯ
Здесь мы видим, что после того, как найден случай совпадения (в данном случае 1 ), все остальные коды случая также выполняются.Нам нужно использовать оператор break, чтобы избежать этого.

 
 

Его вывод будет ;
1
Здесь мы видим, что программа останавливает выполнение других операторов case из-за оператора break в совпавшем case.

Операторы case

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

 
 

Его вывод будет:
I Love PHP
(Примечание: строки должны быть заключены в двойные кавычки)

Заявление о переключении PHP

— Phptpoint.com

Оператор Switch

в PHP

Оператор switch аналогичен серии операторов if для того же выражения.

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

 
 

Выход
2 равно 2
2 равно 2

В данном примере

$i — это переменная, содержащая значение = 2, оператор switch работает так же, как вложенный, если работает else.

, если проверка условия ($i==2) соответствует, поэтому вывод будет: 2 равно 2.

то же самое для switch($i) соответствует случаю 2: поэтому вывод будет: 2 равно 2.


оператор переключения без перерыва

 ";

Дело 1:

echo "$i равно 1"."
"; случай 2: echo "$i равно 2"."
"; } ?>

Выход
0 равно 0
0 равно 1
0 равно 2

переменная ($i) содержит значение = 0.это значение передается внутри переключателя. это начало соответствовать делу. первый случай соответствует изначально объявленному значению переменной (0).

Все операторы выполняются от case:0 до case:2.


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

 

 

Выход
1 меньше 3, но не отрицателен

Инициализировать переменную ($i) со значением = 1.Теперь передайте это значение внутри оператора switch.

Теперь начало регистра соответствует значению инициализируемой переменной ($i). В случае: 1 соответствует.

, но это не инструкция для исполнения. поэтому он пропустит случай, потому что перерыв отсутствует в случае: 1.

Теперь оператор case:2 выполняется, и прерывание завершает программу.

Вывод будет иметь вид case:2 (утверждение): 1 меньше 3, но не отрицательно.


Использование значения по умолчанию в выражении Switch

В случае, если какой-либо регистр переключения не совпадает, выполняется инструкция по умолчанию.

 

 

Выход 5 не равен 0, 1 или 2

В данном примере переменная $i является значением удержания = 5. Теперь условие переключения выполняется с переменной $i.

Здесь определены три случая. он проверяет значение для case0, case1 и case2.

Но выполняется только условие по умолчанию, потому что все три случая не совпадают. и выходной дисплей: 5 не равно 0, 1 или 2


Введите первое число второе число и выбор, сделайте расчет.

 

<метод формы="сообщение">

Введите первый номер
Введите второе число
Введите свой выбор

Вывод
Сумма=1000
Введите первое число
Введите второе число
Введите Ваш выбор

В приведенном выше примере мы сначала создаем форму, используя сценарий HTML, чтобы принимать данные от пользователей.Внутри формы мы создаем три текстовых поля и кнопку отправки. Логика программы определяется внутри скрипта PHP. Объявлено, что переменная($f, $s, $choice) содержит значение, полученное с помощью $_POST[ ] . $choice используется для выполнения операции (сложение/умножение/деление/вычитание). Первое введенное число равно 500 Второе введенное число равно 500. Введенное значение равно «+». Внутри текстового поля выбора введено значение +, поэтому оно будет соответствовать первому случаю и выполнять первый случай (+). Выходной дисплей: Сумма = 1000

.

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

Ваш адрес email не будет опубликован.