创建一个包含三个数组的表

时间:2016-10-09 19:50:53

标签: php

我有三个数组,例如:

$one = array(1, 3, 7, 8, 9);
$two = array('a', 'd', 'b', 'e', 'r');
$three = array('$', '!', '^', '@', '*');

我想这样做:

<table>
<tr><th>1</th><td>a</td><td>$</td></tr>
<tr><th>3</th><td>d</td><td>!</td></tr>
<tr><th>7</th><td>b</td><td>^</td></tr>
<tr><th>8</th><td>e</td><td>@</td></tr>
<tr><th>9</th><td>r</td><td>*</td></tr>
</table>

这可能吗?

3 个答案:

答案 0 :(得分:1)

这是一个原型:

<?php
$one = array(1, 3, 7, 8, 9);
$two = array('a', 'd', 'b', 'e', 'r');
$three = array('$', '!', '^', '@', '*');
?>
<table>
<?php
if(count($one) === count($two) && count($two) === count($three))
{
    for($i=0;$i<count($one);$i++)
    {
        $format = "<tr><th>%d</th><td>%s</td><td>%s</td></tr>";
        echo sprintf($format, $one[$i], $two[$i], $three[$i]);
    }
}
?>
</table>

答案 1 :(得分:1)

如果您确定所有数组都具有相同数量的元素且所有数组都已编号,则可以执行

// table start
foreach ($one as $key => $o) {
    printf('<tr><th>%s</th><td>%s</td><td>%s</td></tr>', $one[$key], $two[$key], $three[$key]);
}
// table end

答案 2 :(得分:0)

这应该可行,但它确实假设所有这些数组都具有相同数量的元素。

首先,我们循环遍历所有键,然后遍历所有数组并将索引键应用于输出。

<?php
$one = array(1, 3, 7, 8, 9);
$two = array('a', 'd', 'b', 'e', 'r');
$three = array('$', '!', '^', '@', '*');
?>
<table>
<?php
foreach (array_keys($one) as $val) {
?>
<tr>
<?php 
    foreach(array($one, $two, $three) as $cur){
?>
        <td><?php echo isset($cur[$val]) ? $cur[$val] : null ?></td>
<?php
    }
?>
</tr>
<?php
}
?>
</table>