Каждый раз, когда счетчик достигает 6 - справка по математике - PullRequest
0 голосов
/ 28 ноября 2010

Используя php, вот так ..

for($i = 0; $i < 30; $i++) ...

У меня есть этот элемент HTML, который отображается несколько раз. Я хочу, чтобы каждый раз, когда мы приходили к шестому элементу, он добавлял «style: margin-right: 0px;» например.

Мой вопрос: Как мы всегда можем найти 6-й элемент?

Обновление: чтобы можно было отметить 6-й элемент, затем 12-й элемент, затем 18-й элемент, затем 24-й и, по крайней мере, 30-й.

Спасибо заранее, MEM

Ответы [ 3 ]

2 голосов
/ 28 ноября 2010

Вы можете использовать оператор по модулю, %:

for ($i = 0; $i < 30; $i++) {
  if ($i % 6 == 5) {
    # Add what you want---I don't use PHP much
  }
}

Оператор по модулю, %, делит левую часть на правую и затем сообщает остаток результата.Так, например, 15 % 6 == 3, потому что 15 == 6*2 + 3.В выражении a % b == c, c будет варьироваться от 0 до b-1.Если бы у вас был $i % 6 == 0 в приведенном выше тесте, он бы стилизовал первый элемент, седьмой элемент и т. Д .;таким образом, он будет стилизовать шестой элемент, двенадцатый элемент и т. д. Это потому, что когда вы находитесь на шестом элементе, $i == 5, а 5 % 6, конечно, 6.Для получения дополнительной информации, посмотрите , что Википедия может сказать о операции по модулю .

2 голосов
/ 28 ноября 2010

Убедитесь, что мода $ i и 6 равна 0 (означает, что $ i делится на 6 равномерно).

for($i = 0; $i < 30; $i++) {
   if($i % 6 == 0) {
      // this is a sixth element
   }
   ...
}

Если вы не хотите, чтобы это происходило на первой итерации ($ i == 0), вам также необходимо добавить эту проверку в оператор if:

if($i > 0 && $i % 6 == 0){ 
}
1 голос
/ 28 ноября 2010

вы можете попробовать использовать модуль (%)

if(!($i % 6)) { 
    // add style
}

или

if(($i % 6) == 0) {
    // add style
}

РЕДАКТИРОВАТЬ: Калеб бьет меня к этому = /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...