![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Dup13x |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.5.2010 Репутация: нет Всего: нет |
Ну если правильно выразился, то нужно типа такого
т.е. вместо $__i у меня поочередно подставятся значения. интересует на сколько это правильно? или как можно сделать более традиционными способами(вручную забивать значения лень, иногда по середине меняется и приходится все значения менять.) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
не совсем понятна логика.
можно сделать маппинг:
но лучше уточни условия. пока что не совсем понятно. |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Dup13x, синтаксически код корректный. PHP позволяет использовать в case переменные и даже функции.
Но способ решения некой , оставшейся неизвестной, задачи довольно странный. Мне кажется, что то, что вам нужно, можно получить и другим более обыденным путем. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Dup13x |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.5.2010 Репутация: нет Всего: нет |
Ну мне нужен тот же switch или что то подобное. Мне не важна нумерация шагов, главное чтобы выполнялись друг за другом, один шаг может выполниться и несколько раз, но за ним идет точно следующий, т.е. скачков нету. Проблема в том, что если вклинивать новые шаги, то приходится менять всю нумерацию шагов, которая в принципе нигде не используется.
|
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
не оно? Это сообщение отредактировал(а) ksnk - 3.12.2012, 22:43 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
goto. кошмар отладки. чуть лучше — запихнуть switch, какой продемонстрировал ksnk, в объект. с методами "do" — который в зависимости от внутреннего счетчика делает что-то и методами doNext/doSame/stop — которые будут управлять процессом работы, (не)изменяя и запуская ->do снова и снова(так как в switch нет возможности "повторить ветку"). самым корректным, как мне кажется, будет поиск другого архитектурного решения. к примеру, вместо детерминированного конечного автомата(state machine) как сейчас можно использовать список правил с приоритетами… ну, без знания задачи это можно гадать и гадать. |
|||
|
||||
| Arantir |
|
||||||||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Накатал примерчик
Результат:
В каком порядке добавляешь, в таком и выполняется. Переход на след. шаг можно подавлять, указывая false в do_next(). Добавлено @ 02:04 Вот так удобнее добавлять функции:
А еще есть сокращенный вызов:
Это сообщение отредактировал(а) Arantir - 4.12.2012, 09:26 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |