2015-01-26 2 views
3

Как написать модуль, который будет последовательно выбирать следующие итерации?Устранение итераций с использованием модуля php в нерегулярной последовательности

1, 4, 5, 8, 9, 12, 13 и т.д. (+ 3 + 1r)

Я работаю в цикле и подсчета сообщений (итераций).

Так, например, я мог поймать каждый третий пост (1, 4, 7, 10): -

if ($i % 3 == 1) { echo 'something here'; } 

Но как я могу написать тот, который будет ловить 1, 4, 5, 8, 9, 12, 13?

ответ

4

Я не совсем уверен в вашем алгоритме, но кажется, что вы пытаетесь получить каждое третье и четвертое сообщение (начиная с 0). Фитинг код будет:

if(($i % 4 == 0 || $i % 4 == 1) && $i != 0) { /* do stuff */ } 
+0

Пятно на, спасибо очень Sebb. Работает отлично. – zigojacko

3

Sidenote: Если вам интересно о closed form формуле:

enter image description here

в случае, если вам нужно подобрать один n -м срок от последовательность.

В противном случае я бы предложил использовать модуль (например, предложенный @Sebb), если вам это нужно в вашем цикле.

+1

Crap, вы математик, lol :-). Я занят чем-то, связанным с 4, так как есть последовательность, включающая 4 и модуль. Я хотел бы видеть правильное решение с этой формулой, хотя, lol. Вероятно, опубликует что-то гораздо позже :-) –

+0

@PieterGoosen Я сделал математику + физику в uni, но это становится пасмурным ;-) Я думаю, что версия модуля может быть быстрее, чем вычисление формулы в цикле. Формула может быть проще в использовании, если нужно только поднять n-й термин. – birgire

+0

AHA! Думал, что я что-то пропустил, lol. Последний раз, когда я попал в математику, я учился в школе 20 лет назад. Тем не менее, вы получаете мой взнос за это принятие желаемого за действительное :-) –

 Смежные вопросы

  • Нет связанных вопросов^_^