Есть ли какой-либо тип операнда, который может быть использован для этого? - PullRequest
1 голос
/ 13 июля 2011

Посмотрите на эту таблицу:

<?php
echo '<table>';
for($i = 1;$i<99;$i++)
{
  $i = intval($i);

  if ($i / 3  == intval($i / 3))
  {
    echo "<tr><td>this is third tr</td></tr>";
  }
  else
  {
     echo "<tr><td>this is first or second</td></tr>";
  }
}

вывод похож на

this is first or second
this is first or second
this is third tr
this is first or second
this is first or second
this is third tr
this is first or second
this is first or second
this is third tr

Есть ли более элегантный способ обнаружить ВСЕГДА третьего tr?

Ответы [ 2 ]

4 голосов
/ 13 июля 2011

вы ищете что-то вроде:

<?php
echo '<table>';
for($i = 1;$i<99;$i++){
  if ($i % 3  == 0){
    echo "<tr><td>this is third tr</td></tr>";
  }else{
     echo "<tr><td>this is first or second</td></tr>";
  };
};
echo "</table>";
?>

http://php.net/manual/en/language.operators.arithmetic.php

1 голос
/ 13 июля 2011

Используйте оператор модуля ...

if ( ! (i % 3))

Он вернет остаток от деления. Вам нужна скобка из-за порядка старшинства.

CodePad .

Также $i = intval($i) является избыточным. $i уже является целым числом.

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