управление foreach

JG-loc

Новичок
управление foreach

Есть массив.
Нужно вывести его в 2 колонки.
ТО есть
значение1 | значение2
значение3 | значение4
и т.д.
Можно ли это сделать через foreach ?
Через for это не проблема. А как это сделать через foreach?
Заранее всем спасибо.
 

SID

ReadOnlyТеаm
PHP:
foreach ($array as $key => $value) {
echo "<tr><td>" .$key. "</td><td>" .$value. "</td></tr>";
}
 

JG-loc

Новичок
Смотрел.
Просто я упростил тут....
На самом деле у меня многомерный асоциативный массив...

А вывести его надо
значение1 | значение2
значение3 | значение4

точнее
ключ1 | ключ2
ключ3 | ключ4

а значениями там являются тоже массивы. Их пока не трогаю...
 

vittorio

Новичок
Ну и что тебя смущает? Делай проверку ключа на четность, в зависимости от этого выводи/не выводи tr. Как ты делал это с for?

-~{}~ 31.03.06 18:12:

Не увидел предыдущего поста... Дай код с for, все таки.
 

Novice

Новичок
$i = 1;
echo "<table><tr>";
foreach ($a as $key => $value) {

echo "<td>" .$value. "</td>";

if ($i % 2 == 0) echo "</tr><tr>";
$i++;
}
echo "</tr></table>";


PS: и foreach тут нипричем..
 

JG-loc

Новичок
Делай проверку ключа на четность, в зависимости от этого выводи/не выводи tr.
Как делать проверку ключа на четность? Просто не знаю, потому что ключи - слова.

if ($i % 2 == 0) echo "</tr><tr>";
$i++;
}
Хм... не знал что так можно. Но ведь работает. Пасибо :)
 

SID

ReadOnlyТеаm
только думаю лучше будет с небольшими поправками:
PHP:
<?
$i = 0;
echo "<table><tr>";
foreach ($array as $value) {
 echo "<td>" .$value. "</td>";
 if ($i % 2) echo "</tr><tr>";
 $i++;
}
echo "</tr></table>";
?>
 

JG-loc

Новичок
Ну не совсем :)
Прост если $i = 0; то выходит

знач1
знач2 | знач3
знач4

а если $i = 1;
то как надо. То есть первая строка содержит 2 значения.
Всем огромное пасибо! Очень помогли.

P.S. А я 2 часа бился...
 

SID

ReadOnlyТеаm
JG-loc
Ты уверен в "Прост если $i = 0; то выходит" ?
заменяется не только "$i = 0;" но и "($i % 2)"
 
Сверху