在PHP中将单维数组转换为多维数据

时间:2015-07-29 06:22:00

标签: php arrays multidimensional-array

我有一个数组,每列包含<td></td>,可能是这样的

$array = array('<td>1</td>','<td>2</td>','<td>3</td>','<td>4</td>','<td>5</td>'......);

我必须将它们转换为表格,每行有3列,每列

示例

<table>
 <tr><td>1</td><td>2</td><td>3</td></tr>
 <tr><td>4</td><td>5</td><td>6</td></tr>
<tr><td></td>.........</tr>
</table>

所以我会做这样的事情

 <table>
    foreach($array as $td)
    {

        //do something 

    }
    </table>

提前致谢

3 个答案:

答案 0 :(得分:2)

只需使用计数器。

<table>
<tr>
<?php
$i = 1;
foreach($array as $td)
{
    echo $td;
    if($i % 3 == 0 && $i < count($array)) {
        echo '</tr><tr>';
    }
    $i++;
}
?>
</tr>
</table>

答案 1 :(得分:0)

function makeChunks($array)
{
     $tr = array();
     for($i=0;$i<count($array)/3;$i++)
     {
        $tr[$i] = array_chunk($array, 3);
     }
     return $tr;
}

答案 2 :(得分:0)

使用array_chunk按每3个项目拆分数组

 $array = array('<td>1</td>','<td>2</td>','<td>3</td>','<td>4</td>','<td>5</td>');
?>
<table>
<?php    
    foreach(array_chunk($array,3) as $tr) 
      echo '<tr>' . implode('', $tr) . '</tr>' . "\n ";
?>
</table>