PHP关联数组到表

时间:2016-08-08 17:30:02

标签: php html arrays

我正在尝试按顺序按升序对关联数组进行排序,然后将其转移到HTML表格中,我当前难以接受错误。我在这里查找了关于SO的指导原则,并按照一些帖子的说明进行了操作:

PHP display associative array in HTML table

但仍然没有运气,这是我的尝试:

<?php
         function format($g){

          array_multisort($g, SORT_ASC);
          echo "<table>";
          foreach($g as $key=>$row) {
              echo "<tr>";
              foreach($row as $key2=>$row2){
                  echo "<td>" . $row2 . "</td>";
              }
              echo "</tr>";
          }
          echo "</table>";
         }
         $bib = array("Luke"=>"10",
                      "John"=>"30",
                      "Matt"=>"20",
                      "Mark"=>"40");
         format($bib);
       ?>

我的调试器告诉我每个循环都有一个错误,但除非有一些我没有看到的语法错误,否则我看不出它是怎么回事?错误是为foreach()

提供了无效参数

2 个答案:

答案 0 :(得分:1)

因为您的$bib只是单个数组,但您使用两个foreach来循环此数组

在第二个循环中,您的$row变量是一个字符串,您不能将foreach用于此类型

你可以尝试单阵列吗?

<?php
function format($data) {
    array_multisort($data, SORT_ASC);
    echo "<table>";
    foreach($data as $k => $v) {
        echo "<tr>";
        echo "<td>$k</td>";
        echo "<td>$v</td>";
        echo "</tr>";
    }
    echo "</table>";
}

$bib = array("Luke"=>"10",
             "John"=>"30",
             "Matt"=>"20",
             "Mark"=>"40");
format($bib);

?>

$kLuke John MattMark$v10 30 2040

您可以在此处查看foreach示例:http://php.net/manual/en/control-structures.foreach.php

希望这有用^^

答案 1 :(得分:0)

你可以试试这个

<?php

function format($data){
    array_multisort($data, SORT_ASC);
    echo "<table>";
    foreach($data as $key => $row) {
        echo "<tr>";
            echo "<td>" . $key . "</td>";
            echo "<td>" . $row . "</td>";
        echo "</tr>";
    }
    echo "</table>";
}

$bib = array(
    "Luke"=>"10", 
    "John"=>"30",
    "Matt"=>"20",
    "Mark"=>"40"
);

format($bib);

?>