这可能听起来很愚蠢,因为在基本的html中它是不可能的。但是有可能像这样呈现一个表(不,但我的选择是什么?):
<table>
<td>
<tr>col 1 row 1</tr>
<tr>col 1 row 2</tr>
<tr>col 1 row 3</tr>
</td>
<td>
<tr>col 2 row 1</tr>
<tr>col 2 row 2</tr>
<tr>col 2 row 3</tr>
</td>
</table>
我真的需要这个,因为我有这些数组(见下面的代码),我不能重新制作它们以适合正确的图像,因为列数总是不同的。
array('col 1 row 1', 'col 1 row 2', 'col 1 row 3');
array('col 2 row 1', 'col 2 row 2', 'col 2 row 3');
HTML作为PHP解决方案会有所帮助
通缉输出:
用于html解决方案
<table>
<tr>
<td>col 1 row 1</td>
<td>col 2 row 1</td>
</tr>
<tr>
<td>col 1 row 2</td>
<td>col 2 row 2</td>
</tr>
<tr>
<td>col 1 row 3</td>
<td>col 2 row 3</td>
</tr>
</table>
for php solutions
array('col 1 row 1', 'col 2 row 1');
array('col 1 row 2', 'col 2 row 2');
array('col 1 row 3', 'col 2 row 3');
答案 0 :(得分:1)
根据HTML标准,它是非法的语法。原理很简单:表&gt; tr> td(有时也是thead,tbody)。所以你的代码看起来应该是这样的
<table>
<tr>
<td>
<table>
<tr><td>col 1 row 1</td></tr>
<tr><td>col 1 row 2</td></tr>
<tr><td>col 1 row 3</td></tr>
</table>
</td>
<td>
<table>
<tr><td>col 2 row 1</td></tr>
<tr><td>col 2 row 2</td></tr>
<tr><td>col 2 row 3</td></tr>
</table>
</td>
</tr>
</table>
您的代码可能适用于大多数流行的浏览器,因为他们的引擎正在尝试修复&#34;这些错误虽然总是面对W3 validator
答案 1 :(得分:1)
您可以嵌套表格。像这样:
<table>
<tr>
<td>
<table>
<tr><td>col 1 row 1</td></tr>
<tr><td>col 1 row 2</td></tr>
<tr><td>col 1 row 3</td></tr>
</table>
</td>
<td>
<table>
<tr><td>col 2 row 1</td></tr>
<tr><td>col 2 row 2</td></tr>
<tr><td>col 2 row 3</td></tr>
</table>
</td>
</tr>
</table>
基本上外层表有一行,该行每个数组有一个单元格。每个单元格都有一个表,每个表有一行(每个单元格有一个单元格)。
然后你可以通过循环遍历数组来创建输出。在伪代码中:
echo "<table>"
echo "<tr>"
for each array in arrays
echo "<td>"
echo "<table>"
for each item in array
echo "<tr>"
echo "<td>"
echo item
echo "</td>"
echo "</tr>"
echo "</table>"
echo "</td>"
echo "</td>"
echo "</table>"
作为一般表格的替代方案,请考虑以下内容:
<div>
<span>col 1 row 1</span>
<span>col 1 row 2</span>
<span>col 1 row 3</span>
</div>
<div>
<span>col 2 row 1</span>
<span>col 2 row 2</span>
<span>col 2 row 3</span>
</div>
伪代码也有点清晰:
for each array in arrays
echo "<div>"
for each item in array
echo "<span>"
echo item
echo "</span>"
echo "</div>"
这将样式的输出放在CSS中,如果这不是技术上的表格数据,那么无论如何它可以说是它所属的地方。 div
的样式可以设置为彼此相邻(如果它们比页面宽,则取决于你该做什么...包裹到新的浮动div
行或水平推送,span
可以设置样式以填充div
的宽度并垂直堆叠。
答案 2 :(得分:0)
经过数小时的挣扎,我决定向高级php程序员提问。谁还说我必须把阵列弄好......但那也是斗争。
以下是它的完成方式。
首先,我把所有东西放在一个数组中:
array('a1','a2','a3');
array('b1','b2','b3');
这些数组成为一个数组:
$a=array(
array('a1','a2','a3'),
array('b1','b2','b3'),
)
第二,你可以用某种神奇的方式遍历该区域,以便以正确的顺序获得阵列等。
foreach ($a as $i1 => $b) {
foreach($b as $i2 => $c) {
$result[$i2][$i1] = $c;
}
}
在魔术之后你应该有一个数组,在这种情况下因为count($ b)== 3个子数组,并且在那些数组中它应该是,在这种情况下因为count($ a)= = 2项......所以:
array(
array('a1','b1'),
array('a2','b2'),
array('a3','b3'),
);