2012-06-12 38 views
2

现在我有一个问题,我不知道从哪里开始看,我想制作一张包含汽车价格的表格,表头是汽车模型,而表的左侧是租赁公司,我想将价格置于价格属于的汽车模型下,并且价格和汽车从阵列中出来,该车型可有时5款车型,有时或多或少,所以我无法弄清楚如何将它与PHP或JS排序,当字符串与页眉不匹配时,将列留空PHP

这是我想要做的一个例子,

  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脚本来做到这一点?

+0

我不知道从哪里开始,我正在寻找一个暗示,我可以在那里找到一些东西, – thegrede

+0

你的数组是什么样的。这将有助于我们理解帮助循环打印表格的结构。数组的print_r在两种情况下都会有所帮助 –

回答

2

你可以使用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> 

你可以尽可能多的行列数,只要你想,会的foreach循环每个项目通过它添加到阵列;)

+0

谢谢Nurickan,我认为这对我来说是迄今为止最好的答案,我将不得不解决它。 – thegrede

1

您可以在表中插入空白条目,不要将任何内容放入<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>"; 
} 
+0

谢谢,即使到目前为止我都知道这一点,但我期望在将结果与数组一起循环时执行此操作,并且“​​”有时可能为空,有时可能与一个字符串。 – thegrede