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 :: Помогите решить задачу с циклом
Покинул форум
Сообщений всего: 38
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
[+]
Ребят, может кто сталкивался или знает как решить проблему, суть такова - есть переменная при изменении которой должно выполняться действие, но выполняться только один раз, до следующего изменения этой переменной (значение переменной может быть не цифровым). Например:
Пока эту проблему решал так:
- заносил значение переменной в файл .txt
- потом вытягивал из файла ток уже через другую переменную,
- дальше сравнивал через if - т.е. если текущее значение совпадало со значением из файла, ничего не происходило, как только текущее значение отличалось от того, что записано в файл, выполнялось нужное действие и файл txt перезаписывался.
Но способ дикий, кажется должны быть иные пути решения...
Да, проверка переменной происходит постоянно, т.е. стоит таймер который обновляет скрипт каждую минуту...
DlTA
Отправлено: 30 Марта, 2017 - 00:24:27
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
ээээм, а приме вашего кода??
непонятно зачем в файл сохранять?
а для сравнения лучше исходный текст пропустить через функцию md5() (если текст большой)
Virus1850
Отправлено: 30 Марта, 2017 - 01:48:54
Новичок
Покинул форум
Сообщений всего: 38
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
[+]
DlTA пишет:
ээээм, а приме вашего кода??
непонятно зачем в файл сохранять?
а для сравнения лучше исходный текст пропустить через функцию md5() (если текст большой)
Этот код по средством js обновляется раз в минуту. Как только значение $random изменяется, скрипт выполняется + файл перезаписывается на текущее значение переменной, что бы выполнение не зацикливалось, если значение совпадает со значением в файле, ничего не происходит.
Строитель
Отправлено: 30 Марта, 2017 - 12:50:17
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
DlTA пишет:
непонятно зачем в файл сохранять?
А как вы предлагаете выполнять сравнение без сохранения куда либо? Может быть я ошибаюсь, но я вижу необходимость сохранения, если не в файл, то в базу.
Virus1850
Отправлено: 30 Марта, 2017 - 13:23:34
Новичок
Покинул форум
Сообщений всего: 38
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
[+]
Строитель пишет:
DlTA пишет:
непонятно зачем в файл сохранять?
А как вы предлагаете выполнять сравнение без сохранения куда либо? Может быть я ошибаюсь, но я вижу необходимость сохранения, если не в файл, то в базу.
Я это к тому, что, возможно есть иные способы решения такой задачи. Что мне нужно, я описал и предложил свой путь решения, но он меня не совсем устраивает... Если иных способов нет, буду использовать этот...
Строитель
Отправлено: 30 Марта, 2017 - 14:06:47
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
Virus1850 пишет:
Я это к тому, что, возможно есть иные способы решения такой задачи. Что мне нужно, я описал и предложил свой путь решения, но он меня не совсем устраивает... Если иных способов нет, буду использовать этот...
Ну почему нет? - любую задачу можно решить разными способами. Вы вроде бы забыли уточнить, что вас не устраивает в вашем варианте.
Virus1850
Отправлено: 30 Марта, 2017 - 15:22:35
Новичок
Покинул форум
Сообщений всего: 38
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
[+]
Строитель пишет:
Virus1850 пишет:
Я это к тому, что, возможно есть иные способы решения такой задачи. Что мне нужно, я описал и предложил свой путь решения, но он меня не совсем устраивает... Если иных способов нет, буду использовать этот...
Ну почему нет? - любую задачу можно решить разными способами. Вы вроде бы забыли уточнить, что вас не устраивает в вашем варианте.
Скорость выполнения. Да, в идеале так можно юзать без проблем, но, если мне нужно отслеживать изменение переменной практически онлайн, т.е. отправлять запросы на проверку каждую сек. А это уже лишняя нагрузка и время на выполнения всех действий.
Строитель
Отправлено: 30 Марта, 2017 - 16:18:05
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
Virus1850, если бы речь шла о сравнении данных в процессе выполнения скрипта, то я бы предложил использование статической переменной в теле пользовательской функции (вместо текст.файла), а на вход этой функции передавать данные, которые динамически изменяются. В итоге код имел бы такой вид :
Покинул форум
Сообщений всего: 38
Дата рег-ции: Февр. 2012
Помог: 0 раз(а)
[+]
Строитель пишет:
Virus1850, если бы речь шла о сравнении данных в процессе выполнения скрипта, то я бы предложил использование статической переменной в теле пользовательской функции (вместо текст.файла), а на вход этой функции передавать данные, которые динамически изменяются. В итоге код имел бы такой вид :
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.