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 :: Помогите упростить скрипт
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Погряз в формулах и никак не могу придумать, как их упростить. Здесь показано, как работает скрипт: http://med-75[dot]hol[dot]es/4/1.php . Основная задача – реализовать счётчик игр для каждого из игроков (по команде "Калькуляция"). Если ограничиться тремя днями, моя реализация терпима, но при составлении таблицы игр на месяц код раздуется до невероятных размеров (например, для последнего числа месяца в каждом из условий придётся прописывать формулы из тридцати элементов).
Была мысль создать шаблоны формул в виде переменных. Но подсчитав, понял, что и это будет выглядеть слишком громоздко. Наверняка существует способ более компактной реализации данного счётчика. Прошу помощи у знатоков.
Вот мой вариант скрипта, отвечающего за математическую часть кода:
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
Эдвард, Вам срочно надо почитать про циклы.
----- просто ?: сложно
Эдвард
Отправлено: 26 Сентября, 2014 - 04:58:11
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
tato пишет:
Эдвард, Вам срочно надо почитать про циклы.
Почитал. Но как применить конкретно к моему случаю, не понимаю.
Эдвард
Отправлено: 26 Сентября, 2014 - 11:26:52
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Дайте хотя бы какую-нибудь зацепку. Прошерстил весь Интернет – всюду даны одни и те же примеры с выводом на страницу (либо всплывающие окна) цифр от 1 до ∞ или других перечней. К сожалению, нигде пока не нашёл примеры циклов с несколькими условиями и сложными формулами, хоть чем-то и отдалённо напоминающими мой скрипт.
RickMan
Отправлено: 26 Сентября, 2014 - 11:29:16
Участник
Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012
Помог: 30 раз(а)
Для начала сделай вместо d1, d2, d3 и так дале массив с названием d, а цифры 1, 2 и 3 - индексы массива... тоесть d1 станет d[1]... и в таком формате переменных будет меньше, и такое закинуть в цикл легче намного. (Добавление)
Ну и так со всеми подобными переменными.
Эдвард
Отправлено: 26 Сентября, 2014 - 12:58:23
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
RickMan пишет:
Для начала сделай вместо d1, d2, d3 и так дале массив с названием d, а цифры 1, 2 и 3 - индексы массива... тоесть d1 станет d[1]... и в таком формате переменных будет меньше, и такое закинуть в цикл легче намного. (Добавление)
Ну и так со всеми подобными переменными.
В итоге калькуляция вообще перестала работать. Где-то допущено ошибка.
RickMan
Отправлено: 26 Сентября, 2014 - 13:47:04
Участник
Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012
Помог: 30 раз(а)
1) Вы массивы a, b, c создали?
2) Вы логи браузера смотрели? Чтобы не гадать что за ошибка там
3) Вы в курсе как вообще работает и пишется for? Зачем вы строку после for поставили черти где?
Эдвард
Отправлено: 26 Сентября, 2014 - 15:17:46
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
RickMan пишет:
1) Вы массивы a, b, c создали?
Всё перепробовал. Не знаю, как это сделать правильно. Если, например, так:
Теперь результат для total (10, 11, 12) – NaN, NaN, NaN. Подозреваю, что проблема в переменных a, b, c. Но как их правильно оформить, ума не приложу.
Эдвард
Отправлено: 30 Сентября, 2014 - 13:18:07
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Что-то приумолкли все. Помогите кто-нибудь хотя бы ошибку исправить. Ведь для людей с знаниями это не так сложно, а я уже несколько дней мучаюсь над задачей.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.