отображать формат ввода с использованием php - PullRequest
0 голосов
/ 29 июня 2011

Мне нужно отобразить массив из 10 чисел в трех столбцах. если я добавлю еще одно число, например, 11, оно должно быть добавлено ниже 10. Поскольку число, увеличивающее число, может быть увеличено, а не столбец, может кто-нибудь сказать?

1 4 7 10
2 5 8
3 6 9

Я получаю 10 в четвертом столбце, но мне нужно это в третьем столбце. и строка будет увеличена как

1 4 8
2 5 9
3 6 10
4 7

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Показать вывод в таблицу.

<?php
$arr = array("1","2","3","4","5","6","7","8","9","10", "11", "12", "13");

$row= ceil(count($arr)/3);
echo "<table border='1'>";
for($i = 1; $i <= $row; $i++) {
    echo "<tr>";
    echo "<td>". $i ."</td>";
    $k = 0;
    $pre = 0;
  for($j = 1; $j <= 2; $j++) {
    if($pre == 0)
      $pre = $k = $i + $row;
    else
      $pre = $pre + $row;

    if($pre <= max($arr))
      echo "<td>". $arr[$pre-1] ."</td>";
  }
  echo "</tr>";
}
echo "</table>";
?>

Вывод будет:

1   6   11
2   7   12
3   8   13
4   9
5   10
0 голосов
/ 29 июня 2011

Попробуйте это ...

<?php
$arr = array("1","2","3","4","5","6","7","8","9","10", "11", "12", "13", "14");

$row= ceil(count($arr)/3);

for($i = 1; $i <= $row; $i++) {
    echo $i;
    $k = 0;
    $pre = 0;
  for($j = 1; $j <= 2; $j++) {
    if($pre == 0)
      $pre = $k = $i + $row;
    else
      $pre = $pre + $row;

    if($pre <= max($arr))
      echo " ". $arr[$pre-1] ." ";
  }
  echo "<br>";
}

?>

Выход при 14 элементах:

1 6 11
2 7 12
3 8 13
4 9 14
5 10 

Вывод при 11 элементе:

1 5 9
2 6 10
3 7 11
4 8 

Вывод при 13 элементах:

1 6 11
2 7 12
3 8 13
4 9
5 10 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...