Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
20 / 19 / 3
Регистрация: 20.06.2010
Сообщений: 620
1

Изменить case в switch

09.12.2018, 22:10. Показов 708. Ответов 4

Подскажите пожалуйста, как это решить.
PHP
1
2
3
4
5
6
7
$a = 1;
switch ($a) { 
  case "1": { какой-то код; break;} // передать процесс отсюда
  case "2": {break;}
  case "3": { другой код; break;} // сюда
  default: {}
}
Согласно значению $a срабатывает case 1, но при дальнейшем разборе становится необходимо продолжить обработку в другом case. Т.е. задать $a=3 и продолжить не перезагружая страницу.
Пробовал убрать "break" из case 1 и задать $a=3; но не срабатывает.

Как можно решить такую задачу?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2018, 22:10
Ответы с готовыми решениями:

Из If/else в switch/case
Необходимо добавить 3й вариант/язык (de) в этот код: if ($user_lang_settings) { ...

Switch case
Добавила на одной странице 2 конструкции switch case. Проблема в том что когда вывела значения по...

о конструкции switch case
если в данной конструкции в операторный список для case не поставить break, управление передается в...

switch case в mysql_fetch_array
Имеется столбец в БД - extension (пример данных: .jpg+.vsd+.docx+) Я хочу вывести расширение для...

4
Эксперт PHP
3613 / 3025 / 1266
Регистрация: 01.08.2012
Сообщений: 10,335
09.12.2018, 22:17 2
Надо смотреть на конкретную задачу. Можно вынести код в отдельную функцию и запускать в разных case при необходимости.
0
20 / 19 / 3
Регистрация: 20.06.2010
Сообщений: 620
09.12.2018, 22:37  [ТС] 3
Вот так?
PHP
1
2
3
4
5
6
7
8
9
$a = 1;
switch ($a) { 
  case "1": { какой-то код; $b='true'; break;} // передать процесс отсюда
  case "2": {break;}
  case "3": { другой код; break;} // сюда
  default: {}
}
 
if ($b =='true';) {// код}
Не хотелось бы дублировать код в switch и за его пределами.
0
Эксперт PHP
3613 / 3025 / 1266
Регистрация: 01.08.2012
Сообщений: 10,335
09.12.2018, 23:04 4
ICEBERG@, ну это просто флаг, а не функция, но так тоже можно сделать. Я имел ввиду нечто подобное:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$a = 1;
 
function go($var)
{
    echo 'go' . $var;
}
 
switch ($a) { 
  case "1": { go(1); $b='true'; break;} // передать процесс отсюда
  case "2": {break;}
  case "3": { go(3); break;} // сюда
  default: {}
}
0
811 / 609 / 152
Регистрация: 01.10.2018
Сообщений: 2,417
10.12.2018, 15:42 5
Цитата Сообщение от ICEBERG@ Посмотреть сообщение
Пробовал убрать "break" из case 1 и задать $a=3; но не срабатывает.
Ничего задавать не нужно. Просто поставьте за блоком "1" блок "3", если он должен выполняться вслед за первым.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2018, 15:42

Switch-case в printf
Здравствуйте, как вставить switch-case в printf. Например у меня цикл $result =...

Порядок case'ов в switch'е
Добрый день такой вопрос есть цикл switch. И вот обычно идет такой порядок в switch 1.2.3.4.5 это...

Как определить стринг переменную перед switch case чтобы происходило
Как определить стринг переменную перед switch case чтобы происходила ее обработка в одном из case...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.