![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GAM |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 3.3.2005 Репутация: нет Всего: 2 |
Существует мнение, что повторяющийся код удобней выносить в отдельные функции.
А как быть в таком случае? Имеются 2 функции, в которых повторяется код в блоке switch.
При вызове 2 функций(display1 и display2), которые имеют общий код вычесления какого-то общего параметра в блоке switch, возникает мысль вынести его в отдельную одиночную функцию. Как при этом должны возвращаться переменные в функции, если их несколько? Один из вариантов решения - это рассчитывать блок switch перед вызовом функции и передавать туда уже рассчитанные переменные, но это часный случай. В моём случае, в блоке switch используются переменные, которые рассчитываются внутри основной функции, поэтому такой вариант отпадает. Пробовал реализовать вариантом вовращения массива, потому как возвращаться должно несколько значений: Вывожу блок switch в отдельную функцию и параметры, которые в ней вычесляются, заношу в массив, а строкой return my_arr; возвращаю массив обратно.
Но почему-то этот массив (my_arr) не виден в основной функции откуды был произведён вызов. Т.е. echo my_arr[0]; ничего не выводит :( |
||||
|
|||||
| GAM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 3.3.2005 Репутация: нет Всего: 2 |
Проблему решил, осуществляя вызов вункции через переменную, куда и приходит всё, что передаёт return.
И всё из-за незнания |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
А сами функции display1 и display2 нужны для повторяющегося кода?
|
|||
|
||||
| GAM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 3.3.2005 Репутация: нет Всего: 2 |
Да, там идут через цикл перерасчеты $arg2 и $arg3, которые нужны в расчетах функции my_switch().
Функции совсем разные, а вот 1 блок был одинаковый у обоих, вот и задавался вопросом выноса его. |
|||
|
||||
![]()
|
| Правила форума "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. |