dalmariko
@dalmariko
Ни рыба ни мясо. Програмясо

Как создать таблицу из массива кратно ключу?

$arr = array (1, 2, 3, 4, 5, 6, 7, 8, 9);

foreach ($arr as $key => $value)
{
    echo "<table>";
    echo "<tr>";
    echo (($key+1)%3!=0) ? $value."<td>" : $value."</tr>";
    echo "</table>";
}

вобщем хочу создать такую таблицу на лету с перебором массива, но чет не доганяю как
<table border="1" width="50%">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
 

всем спасибо ра
раздуплился сам)) но готов увидеть ваши решения))
$arr = array (1, 2, 3, 4, 5, 6, 7, 8, 9);
echo "<table>";
foreach ($arr as $key => $value)
{echo "<td>";
    echo (($key+1)%3!=0) ? $value."</td> " : $value."</tr>";}
echo "</table>";
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
$arr = array (1, 2, 3, 4, 5, 6, 7, 8, 9);
$len = 3; // длина строки

// из массива данных для одной строки делает разметку строки
function make_row( $arr) {
  return '<tr>' . implode( '', array_map( 'make_td', $arr)) . '</tr>';
}

// из данных одной ячейки делает разметку ячейки
function make_td( $td) { return '<td>' . $td . '</td>'; } 

$rows = array_chunk( $arr, $len); // массив массивов по 3 эл.
$rowsHtml = array_map( 'make_row', $rows); // массив строк
$tableHtml = '<table>' . implode( "\n", $rowsHtml) . '</table>';

echo $tableHtml;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы