PHP多维数组到html表 [英] PHP multidimensional array to html table
本文介绍了PHP多维数组到html表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个多维数组,我试图将其输出为表格,这是我的数组;
I have an multidimensional array which I'm trying to output as a table, here is my array;
$marksarray=
array(3) {
[0]=>
array(2) {
[0]=>
string(1) "8"
[1]=>
string(1) "0"
}
[1]=>
array(2) {
[0]=>
string(1) "9"
[1]=>
string(1) "1"
}
[2]=>
array(2) {
[0]=>
string(2) "13"
[1]=>
string(1) "2"
}
}
到目前为止,我的代码是这样的;
So far I have my code like this;
echo "<table><tr><td>Question</td><td>Rating</td></tr>";
foreach ($marksarray as $mks){
foreach ($mks as $qid=>$rate){
echo "<tr><td>".$qid."</td><td>".$rate."</td></tr>";
}
}
echo "</table></div>";
但是我的输出是;
我做错了什么?
推荐答案
您正在进行的 foreach
太多了.尝试以下方法:
You've got one too many foreach
's going on there. Try this instead:
echo "<table><tr><td>Question</td><td>Rating</td></tr>";
foreach ($marksarray as $mks){
echo "<tr><td>".$mks[0]."</td><td>".$mks[1]."</td></tr>";
}
echo "</table></div>";
修改
供以后参考,如果您使用带有有意义键的关联数组的数组,它将使您的代码更容易理解.例如
For future reference, it makes your code far easier to understand if you use an array of associative arrays with meaningful keys. e.g.
$marksarray = array(
array('qid' => 8, 'rating' => 0),
array('qid' => 9, 'rating' => 1),
array('qid' => 13, 'rating' => 2)
);
然后您的循环将如下所示:
Then your loop would look like this:
foreach ($marksarray as $mark){
echo "<tr><td>".$mark['qid']."</td><td>".$mark['rating']."</td></tr>";
}
更好的是,您应该使用MVC(模型,视图,控制器)并将此数据传递到视图中……但这完全是另一个主题.
Better still, you should use MVC (Model, View, Controller) and pass this data into a view...but that's another subject entirely.
这篇关于PHP多维数组到html表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文