2011-12-17 3 views
1

Я хотел Произведено:Еогеасп плюс в PHP

aaa | bbb | ccc | ddd etc 
1 | 1 | 1 | 1 
2 | 2 | 2 | 2 
3 | 3 | 3 | 3 
etc 

АБА, ГЭБ и т.д. я использую FOREACH

, но это работает не нормально. как я могу использовать loop FOR для всех данных из foreach?

+0

Просьба пояснить, что вы подразумеваете под этим «это не нормально» ... Вы получаете сообщение об ошибке? Если да, отправьте его. Если вывод, который вы получаете, не выглядит так, как вы ожидаете, что он будет выглядеть, отправьте фрагмент этого вывода. – rdlowrey

+0

Где ваши данные для строк таблицы? Это не только 1111,2222,3333 как префикс по умолчанию, верно? – djot

+0

это сгенерировано 1,2,3,4 и т. Д. Только для aaa. я хочу сгенерировать это с помощью цикла FOR для всех данных из FOREACH - aaa, bbb, ccc и т. д. –

ответ

2

Я думаю, что вы можете создать таблицу, как это:

$columns = array('aaa','bbb','ccc','ddd'); 
$num_cols = count($columns); 
echo "<table>"; 
echo "<tr>"; 
foreach($columns as $col) 
{ 
    echo "<td>$col</td>"; 
} 
echo "</tr>"; 

for($i=1;$i<20;$i++) 
{ 
    echo "<tr>"; 
    for($j=0;$j<$num_cols;$j++) 
    { 
     echo "<td>$i</td>"; 
    } 
    echo "</tr>"; 
} 

echo "</table>"; 
+1

, кажется, вы забыли о запуске '' –

+1

@eueka: А теперь просто сделайте $ j <3 flexible, используя count() в столбцах $ где-то вне цикла for. – djot

+0

спасибо, ребята, за исправление меня – hungneox

2

В общем случае зависит от того, что $data выглядит.

<?php 

$data = array('aaa', 'bbb', 'ccc', 'ddd'); // Assuming that $data is a columns storage 
$rows = 10; // $rows = count($data); if you wish to have same number of columns and rows 

echo '<table>'; 
echo '<tr>'; 
foreach ($data AS $item) 
{ 
    echo '<td>' . $item . '</td>'; 
} 
echo '</tr>'; 
for ($idx = 0; $idx < $rows; $idx++) 
{ 
    echo '<tr>'; 
    for ($col = 1, $col_num = count($data); $col <= $col_num; $col++) 
    { 
     echo '<td>' . $idx . '</td>'; 
    } 
    echo '</tr>'; 
} 
echo '</table>'; 

?> 

P.S. не проверили код.

Смежные вопросы