Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как формировать плавающее количество switch в конструкции case-switch
Покинул форум
Сообщений всего: 24
Дата рег-ции: Март 2011 Откуда: Санкт-Петербург
Помог: 0 раз(а)
Всем привет!
Вопрос такой. Мне нужно написать код с использованием конструкции case-switch. Проблема в том, что количество положений переключателя switch должно быть равно количеству записей в таблице БД, которое может со временем меняться. То есть если записей в таблице 5, то должно быть:
Покинул форум
Сообщений всего: 24
Дата рег-ции: Март 2011 Откуда: Санкт-Петербург
Помог: 0 раз(а)
Sail пишет:
Формировать код в отдельном файле. Этот файл подключать (include) в требуемом месте.
DeepVarvar пишет:
Или делать eval на лету
Оба метода хороши. Больше мне нравится первый, буду работать с ним.
Спасибо за совет!
DelphinPRO
Отправлено: 29 Ноября, 2014 - 00:03:00
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
webbaster пишет:
Оба метода хороши. Больше мне нравится первый, буду работать с ним.
ахренеть, насоветовали O_o
----- Чем больше узнаю, тем больше я не знаю.
biperch
Отправлено: 29 Ноября, 2014 - 00:10:42
Частый посетитель
Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009 Откуда: Днепропетровск
Помог: 8 раз(а)
DelphinPRO пишет:
webbaster пишет:
Оба метода хороши. Больше мне нравится первый, буду работать с ним.
ахренеть, насоветовали O_o
серия из мультика про дурную мысль)
webbaster
Отправлено: 29 Ноября, 2014 - 09:09:24
Новичок
Покинул форум
Сообщений всего: 24
Дата рег-ции: Март 2011 Откуда: Санкт-Петербург
Помог: 0 раз(а)
А что не так?
Мелкий
Отправлено: 29 Ноября, 2014 - 09:37:55
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
А то, что если вы можете сами написать switch, значит вы его можете вообще не писать, а использовать адекватные и подходящие решения.
----- PostgreSQL DBA
webbaster
Отправлено: 29 Ноября, 2014 - 09:42:56
Новичок
Покинул форум
Сообщений всего: 24
Дата рег-ции: Март 2011 Откуда: Санкт-Петербург
Помог: 0 раз(а)
webbaster пишет:
PS Использование конструкции case-switch обусловлено требованиями в CMS.
Лезть в ядро cms и править что-то там не оправдано, в данном случае.
Решение, которое ищу нужно для написания небольшого модуля.
Мелкий
Отправлено: 29 Ноября, 2014 - 09:52:35
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ещё раз. Если вы можете написать switch ($var) {} - вы не обязаны писать этот тупой switch. Вы можете написать всё что угодно вместо него, но выполняющее контракт этой cms'ки..
----- PostgreSQL DBA
MAXUS
Отправлено: 29 Ноября, 2014 - 12:55:11
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
webbaster пишет:
Поделитесь опытом, как это можно сделать?
Спасибо.
PS Использование конструкции case-switch обусловлено требованиями в CMS.
Мой совет - прислушаться к тем, кто говорит, что можно сделать не кейсами, и второй совет - сформулировать общую задачу, а не ее часть. В противном случае - это тупиковая ветка.Отредактировано модератором: DeepVarvar, 29 Ноября, 2014 - 13:13:00 Чтобы не цитировать весь текст, надо выделить мышью нужные слова и жмакнуть кнопку "цитата"
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.