【问题标题】:PHP Combine Arrays into Multidimensional and Render into HTML TablePHP将数组组合成多维并渲染成HTML表格
【发布时间】:2021-09-14 19:28:35
【问题描述】:

我有一些从 DB 获得的 PHP 数组,需要将它们组合起来,以便将其呈现为 HTML 表格视图。但我不确定完成它的最佳方法。 这是我的数组结构。

ArrayA = array(
         0 => array(
              "ID" => 1,
              "FullName" => "John Doe",
              "BloodType" => "B"
         ),
         1 => array(
              "ID" => 2,
              "FullName" => "Patrick Star",
              "BloodType" => "AB"
         )
);
ArrayB = array(
         0 => array(
          "ID" => 1,
          "UserID" => 1,
          "CHECKUP" => "1ST_MONTH",
          "Remarks" => "ABCDE"
         ),
          1 => array(
          "ID" => 2,
          "UserID" => 1,
          "CHECKUP" => "3RD_MONTH",
          "Remarks" => "FGHIJ"
         ),
         2 => array(
          "ID" => 3,
          "UserID" => 2,
          "CHECKUP" => "1ST_MONTH",
          "Remarks" => "KLMNO"
         ),
         4 => array(
          "ID" => 4,
          "UserID" => 1,
          "CHECKUP" => "1ST_MONTH",
          "Remarks" => "PQRST"
         )
);
ArrayC = array(
         0 => array(
              "ID" => 1,
              "UserID" => 1,
              "DonorDate" => "2020-12-01",
              "Height" => 180,
              "Weight" => 70,
              "RiskScore" => 4
         ),
         1 => array(
              "ID" => 1,
              "UserID" => 2,
              "DonorDate" => "2020-12-01",
              "Height" => 160,
              "Weight" => 50,
              "RiskScore" => 10             
         )
);
ArrayD = array(
         0 => array(
          "ID" => 1,
          "UserID" => 1,
          "Visit" => "Visit 1",
          "Remarks" => "ABC"
         ),
          1 => array(
          "ID" => 2,
          "UserID" => 1,
          "Visit" => "Visit 2",
          "Remarks" => "CDE"
         ),
         2 => array(
          "ID" => 3,
          "UserID" => 2,
          "CHECKUP" => "Visit 1",
          "Remarks" => "FGH"
         )
);

我想把它渲染成这样的 HTML 表格。

<table border="1">
  <thead>
    <tr>
      <td>ID</td>
      <td>Blood Type</td>
      <td>Full Name</td>
      <td>1st Month</td>
      <td>2nd Month</td>
      <td>3rd Month</td>
      <td>Donor Date</td>
      <td>Height</td>
      <td>Weight</td>
      <td>Risk Score</td>
      <td>Post Visit 1</td>
      <td>Post Visit 2</td>
      <td>Post VIsit 3</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>B</td>
      <td>John Doe</td>
      <td>ABCDE</td>
      <td></td>
      <td>FGHIJ</td>
      <td>2020-12-01</td>
      <td>180</td>
      <td>70</td>
      <td>4</td>
      <td>ABC</td>
      <td>CDE</td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td>PQRST</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>2</td>
      <td>AB</td>
      <td>Patrick Star</td>
      <td>KLMNO</td>
      <td></td>
      <td></td>
      <td>2020-12-01</td>
      <td>160</td>
      <td>50</td>
      <td>10</td>
      <td>FGH</td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

那么,是否有可能或者是否有任何替代解决方案?请注意,数组有很大的数据集。

【问题讨论】:

    标签: php html codeigniter


    【解决方案1】:

    您可以在另一个 for 循环中使用 foreach 循环来获取元素。

    for ($i=0 ; $i < count($ArrayA); $i++) {
      foreach ( $ArrayA[$i] as $k => $m) {
          if($k == 'ID')
              echo "<td>$m</td>";
          else
              echo "<td></td>";
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-03
      • 2018-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      相关资源
      最近更新 更多