php从数组垂直创建表

时间:2013-02-02 19:07:16

标签: php arrays html5

您好我发现了question here ,但它并没有完全符合我的要求。

我希望表格能够像这样显示:

   **     | array1         | array2 
           -------------------------------
 logtime   | 1305732210     | 1305732216
           -------------------------------
 useragent | Mozilla        | Mozilla
           -------------------------------

编辑:

我不会发布代码,但这就是我坚持的原因。

我有这个查询从mysql

输出数据
SELECT s.*, m.id AS wmMake
                                  FROM `table1` AS s
                                  JOIN `table2` AS m
                                  WHERE s.code = m.code
            AND (s.ic='123'
            OR s.ic='1234"

它的输出看起来像这样

Array ( [0] => PAS [cat] => PAS [1] => H4B12A [ic] => H4B12A [2] => SMALL [segment] => SMALL [3] => 6 [wmMake] => 6 ) 
Array ( [0] => PAS [cat] => PAS [1] => HUV12A [ic] => HUV12A [2] => SMALL [segment] => SMALL [3] => 6 [wmMake] => 6 )

现在在我的php方面我有这个:

for ($i =0; $c = mysql_fetch_array($query); $i++)
{
   print_r($c); 
}

for循环,一次循环1行,如何遍历每一行,获取第一个值,然后再次每行获得第二个数组值,依此类推。我的html输出应该是这样的。

    **     | array1         | array2 
           -------------------------------
 cat       | PAS            | PAS
           -------------------------------
 ic        | H4B12A         | HUV12A
           -------------------------------
 segment   | SMALL          | SMALL
           -------------------------------
  wmMake   | 6              | 6

3 个答案:

答案 0 :(得分:3)

  1. 了解如何构建HTML表格
  2. 了解如何使用arrays以及它们如何与keysvalues一起使用。
  3. 了解如何在for上使用foreach循环或arrays循环。
  4. 结合上述知识,创造你想要的东西。

答案 1 :(得分:1)

假设您可以确定两个/所有数组都具有完全相同的键,您可以使用foreach:

foreach ($array1 as $key => $value)
{
   echo '<tr>';
   echo '<td>'.$key.'</td>';
   echo '<td>'.$array1[$key].'</td>';
   echo '<td>'.$array2[$key].'</td>';
   // ... etc
   echo '</tr>';
}

但是我会注意到Mike de Klerk的答案是相关的,不应该被忽视 - StackOverflow不是为你编写代码或教你如何编写代码,而是为了得到答案你坚持的具体事情。

答案 2 :(得分:0)

首先获取数组键。然后遍历键并回显两个数组的值。

$keys = array_keys($arr1, $arr2);

echo "<table>";
foreach($keys as $k) {
    echo "<tr>";
    echo "<td>".$k."</td>";
    echo "<td>".$arr1[$k]."</td>";
    echo "<td>".$arr2[$k]."</td>";
    echo "</tr>";
}
echo "</table>";