PHP多维数组到html表 [英] PHP multidimensional array to html table

查看:62
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆