|
|
|
|
|
для: gOFREe
(26.06.2009 в 19:03)
| | Да делайте что хотите.... | |
|
|
|
|
|
|
|
для: sim5
(26.06.2009 в 14:45)
| | как раз все нормально, проверил все. | |
|
|
|
|
|
|
|
для: gOFREe
(26.06.2009 в 14:21)
| | У вас фиксированное число элементов в массиве? Тогда да. А если их будет 9, 10, 11..., тогда как? | |
|
|
|
|
|
|
|
для: sim5
(25.06.2009 в 19:02)
| | Почему подгонкой? При любом варианте этот код работает. | |
|
|
|
|
|
|
|
для: gOFREe
(25.06.2009 в 18:36)
| | Не занимайтесь "подгонкой под ответ"! Такое (как и первое) будет верно работать только в том случае, когда будет выполняться некое условие. Какое? Вы что точно знаете, и более того уверены, что число элементов в массиве позволяет так красиво его разложить? | |
|
|
|
|
|
|
|
для: sim5
(25.06.2009 в 18:10)
| | Вот так все работает! ))
<?
$a = array('Ананас', 'Банан', 'Виноград', 'Грибы', 'Дерево', 'Ериван', 'Желток', 'Зелень', 'Изюм');
$n = 4; //число колонок
$l = ceil(count($a)/$n); //получем число строк в таблице (число итераций основного цикла) округляем до большего числа
for ($i=0; $i<$l; $i++) { //цикл определяющий число строк в таблице
echo "<tr>"; //открываем строку
for($k=0; $k<$n; $k++){
$id=$k*$l+$i;
if ($id>=count($a))
{
echo "<td> </td>";
}else{
echo "<td>".$a[$id]."</td>"; //умножаем на число строк в таблице
}
}
echo "</tr>";
}
?>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(25.06.2009 в 18:01)
| | Дажек так? И что будет?
PS. round выбросить, это не лекарство. | |
|
|
|
|
|
|
|
для: sim5
(25.06.2009 в 17:49)
| | я имею ввиду это выражение: $k*$n+$i, я подумал что будет правильнее $k*$l+$i | |
|
|
|
|
|
|
|
для: gOFREe
(25.06.2009 в 17:25)
| | Если в теле цикла (или условия) бедет одно действие, как тут - echo "<td>".$a[$k*$l+$i]."</td>";,
то можно его не обрамлять скобками. А вот если их будет два и более, то обязательно скобки нужны, иначе будет выполнено только первое из действий.
Вы думайте как определить число колонок, на которые можно разложить массив. | |
|
|
|
|
|
|
|
для: sim5
(25.06.2009 в 17:01)
| | А вот так разьве не правильней?
<?
$a = array('Ананас', 'Банан', 'Виноград', 'Грибы', 'Дерево', 'Ериван', 'Желток', 'Зелень', 'Изюм');
$n = 4; //число колонок
$l = round(count($a)/$n); //получем число строк в таблице (число итераций основного цикла)
for ($i=0; $i<$l; $i++) { //цикл определяющий число строк в таблице
echo "<tr>"; //открываем строку
for($k=0; $k<$n; $k++){
echo "<td>".$a[$k*$l+$i]."</td>"; //умножаем на число строк в таблице
}
echo "</tr>";
?>
}
|
| |
|
|
|
|