我可以将数据输出到字符串或数组,如下所示。我知道列数和行数。例如,对于此数据,$numofrow
为6,最大$numofcol
为5。
现在我不确定的是我怎么能把它们放到桌子上。我应该使用阵列吗?如果是这样,怎么样?问题是某些行的数据或td数量少于其他行。
//as an array $mycriteria
array(6) {
[0]=>
string(64) "Criteron A-1,Criteron A-2,Criteron A-3,Criteron A-4,Criteron A-5"
[1]=>
string(64) "Criteron B-1,Criteron B-2,Criteron B-3,Criteron B-4,Criteron B-5"
[2]=>
string(51) "Criteron C-1,Criteron C-2,Criteron C-3,Criteron C-4"
[3]=>
string(38) "Criteron D-1,Criteron D-2,Criteron D-3"
[4]=>
string(64) "Criteron E-1,Criteron E-2,Criteron E-3,Criteron E-4,Criteron E-5"
[5]=>
string(51) "Criteron F-1,Criteron F-2,Criteron F-3,Criteron F-4"
}
//as a string $mycriteria
mycriteria: string(337) "Criteron A-1,Criteron A-2,Criteron A-3,Criteron A-4,Criteron A-5
Criteron B-1,Criteron B-2,Criteron B-3,Criteron B-4,Criteron B-5
Criteron C-1,Criteron C-2,Criteron C-3,Criteron C-4
Criteron D-1,Criteron D-2,Criteron D-3
Criteron E-1,Criteron E-2,Criteron E-3,Criteron E-4,Criteron E-5
Criteron F-1,Criteron F-2,Criteron F-3,Criteron F-4"
更新
我真的需要有空的td,如下所示,因为我正在使用边框线。没有空的td,它看起来很难看。
我正在寻找的是以下HTML。
<table>
<tr>
<td>Criteron A-1</td><td>Criteron A-2</td><td>Criteron A-3</td><td>Criteron A-4</td><td>Criteron A-5</td>
</tr>
...
<tr>
<td>Criteron D-1</td><td>Criteron D-2</td><td>Criteron D-3</td><td></td><td></td>
</tr>
...
</table>
答案 0 :(得分:2)
我假设您想要HTML格式的表格?如果是这样,你会看到类似的东西:
echo "<table><tr><td>".str_replace(Array("\n",","),Array("</td></tr></tr><td>","</td><td>"),$mycritera)."</td></tr></table>";
使用您的字符串形式。
答案 1 :(得分:1)
由于你想要完整的行,这是另一个答案:
array_walk($my_array,function(&$a) {$a = explode(",",$a);});
echo "<table>";
for( $y=0; $y<$numofrow; $y++) {
echo "<tr>";
for( $x=0; $x<$numofcol; $x++) {
echo "<td>".$my_array[$y][$x]."</td>";
}
echo "</tr>";
}
echo "</table>";
必需的PHP 5.3。如果你有较低的替换第一行:
array_walk($my_array,create_function('&$a','$a = explode(",",$a);'));
答案 2 :(得分:0)
你的意思是这样的:
<table>
<?php
$maxTd = 5;
foreach($arr as $key => $val) {
$subArr = explode(",", $val);
$count = count($subArr);
?>
<tr>
<?php foreach($subArr as $val1) { ?>
<td>
<?php echo $val1; ?>
</td>
<?php } ?>
<?php
if($count < $maxTd) {
for($i = 0; $i <($maxTd - $count); $i++) {
echo "<td></td>";
}
}
?>
</tr>
<?php
}
?>
</table>
答案 3 :(得分:0)
表格显示不需要行计数或列数。
echo "<table>";
foreach($my_array as $row){
echo "<tr>";
$columns=explode(",",$row);
foreach($columns as $column){
echo "<td>".$column."</td>";
}
echo "</tr>";
}
echo "</table>";