当字符串与标头 PHP 不匹配时,将列留空



现在我有一个问题,我真的不知道从哪里开始看,我想做一个表格,其中包含租用一天的汽车价格,表格的标题是汽车型号,表格左侧是租赁公司,我想将价格放在价格所属的汽车型号下, 价格和汽车来自一个数组,汽车模型有时可以是 5 个模型,有时是或多或少,所以我无法弄清楚如何使用 PHP 或 JS 对其进行排序,

这是我想做的一个例子,

         Economy  |  Midsize  |  Fullsize
___________________________________________
Hertz  |          | 60.10     | 70.00
___________________________________________
Avis   | $55.22   | 69.10     | 81.56
___________________________________________
Budget | $50.10   |           | 70.00

有时可以像,

         Economy  |  Midsize  |  Fullsize
___________________________________________
Hertz  | 60.10    |           | 70.00
___________________________________________
Avis   | $55.22   |           | 81.56
___________________________________________
Budget | $50.10   |  69.10    | 70.00

数组是这样的,

Array(
   [Hertz] => Array(
               [Economy] => Array(
                        [0] => 
                )
               [Midsize] => Array(
                        [0] => 60.10
                )
               [Fullsize] => Array(
                        [0] => 70.00
                )
        )
   [Avis] => Array(
               [Economy] => Array(
                        [0] => 55.22
                )
               [Midsize] => Array(
                        [0] => 69.10
                )
               [Fullsize] => Array(
                        [0] => 81.56
                )
        )
   [Budget] => Array(
               [Economy] => Array(
                        [0] => 50.10
                )
               [Midsize] => Array(
                        [0] => 
                )
               [Fullsize] => Array(
                        [0] => 70.00
                )
        )
)

正如您在上面的例子中看到的,当我循环数组时,我想跳过一列,有时可能是汽车超过 3,

同样,这取决于我得到的数组的输出。

那么我在哪里可以找到一些PHP或JS脚本来做到这一点呢?

你可以使用 foreach,这个函数在我作为 Web 开发人员的一天中帮助了大约 20%。您需要做的就是组织您的数组,在您的情况下,您可以将键用作 cols 的品牌和值,在 php 中它可能看起来像这样:

$aData = new array( 
  ["empty"] => new array( 
    [0] => "Economy",
    [1] => "Midsize",
    [2] => "Fullsize", 
    ),
  ["Hertz"] => new array(
    [0] => "",
    [1] => "60.10",
    [2] => "70", 
   ),
);



如果您的数组具有此结构,则表将为您完成其余的工作:

<table>
  <?php
  foreach( $aData as $sRowName => $aCols ) {
  ?>
    <tr>
      <td>
        <?php echo $sRowName; ?>
      </td>
      <?php
    foreach( $aCols as $sColData ) {
      if( $sColData !== "empty" ) {
        echo "<td>$sColData</td>";
      }
    } 
  ?>
    </tr>
  <?php   
  }
  ?>
</table>

您可以根据需要向数组添加任意数量的行和列,因为每个项目都会循环通过它;)

您可以在表格中插入一个空白条目 购买 不放入任何内容<td> .例如,赫兹行将是:

<tr>
  <td>Hertz</td>
  <td></td>
  <td>60.10</td>
  <td>70.00</td>
</tr>

同样,预算行将是:

<tr>
  <td>Budget</td>
  <td>$50.10</td>
  <td></td>
  <td>70.00</td>
</tr>

要生成它,您可以执行以下操作

if (is_null($price))
{
  echo "<td></td>";
}
else
{
  echo "<td>" . $price . "</td>";
}

最新更新