我有三个数组,例如:
$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>
这可能吗?
答案 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>