Php 映射数组并显示它?

Php 映射数组并显示它?,php,arrays,Php,Arrays,我有: 1-我如何将(l,h)映射到这个 $l = array( array("A"=>0.1,"B"=>1,"C"=>1,"D"=>1), array("A"=>0.1,"B"=>1,"C"=>0,"D"=>2), ); $h = array('h1','h2'); 2-以便显示(显示html表格) 我正在尝试输出: -------------------

我有:

1-我如何
将(l,h)
映射到这个

$l = array(
               array("A"=>0.1,"B"=>1,"C"=>1,"D"=>1),
               array("A"=>0.1,"B"=>1,"C"=>0,"D"=>2),
            );

$h = array('h1','h2');
2-以便显示(显示html表格)

我正在尝试输出:

-------------------
   | A | B | C | D  
-------------------
h1 |
-------------------
h2 |
--------------------

ABCD
foreach($结果为$key=>$value){
}

有人能帮我吗?

按照您的建议映射阵列很容易:

<table>
<tr><td>A</td><td>B</td><td>C</td><td>D</td></tr>
foreach($result as $key=>$value){
  <tr>

  <tr>
}
<table>
然后:

//打印顶部的“标题”行
$columns=数组_键(重置($l));
回声';
foreach($columns作为$column){
回显“.$column.”;
}
回声';
//打印每个数据行
foreach($映射为$key=>$row){
回显“.$key.”;
foreach($行作为$单元格){
回声“.$cell.”;
}
回声';
}
//完成了!
回声';

按照您的建议映射阵列很容易:

<table>
<tr><td>A</td><td>B</td><td>C</td><td>D</td></tr>
foreach($result as $key=>$value){
  <tr>

  <tr>
}
<table>
然后:

//打印顶部的“标题”行
$columns=数组_键(重置($l));
回声';
foreach($columns作为$column){
回显“.$column.”;
}
回声';
//打印每个数据行
foreach($映射为$key=>$row){
回显“.$key.”;
foreach($行作为$单元格){
回声“.$cell.”;
}
回声';
}
//完成了!
回声';
这在数组元素中有隐含的数字索引时起作用,如果您
var\u dump($h)
var\u dump($l)


这在数组元素中有隐含的数字索引时起作用,如果您
var\u dump($h)
var\u dump($l)



@Jon非常感谢您,为什么要使用此行数组_键(reset($l))?如果需要重置,请拨打idk(可能是很好的做法),但他这样做是为了您拥有的“A”、“B”、“C”、“D”列标题。你不应该硬编码它们,以防你改变数组later@jon你的两个开头
'td'
而不是
'
是打字错误还是我遗漏了什么?@lEnAk,@jon_darkstar:
重置($l)
是一种说“第一项
$l
”的方式,而不必像
$l[0]
那样指定其索引。这样,即使
$l
没有键为
0
的项,它也能正常工作——在这种情况下没有区别,但一般来说,养成.oh righht是一个好习惯。由于指针没有移动,我一开始对为什么要使用它感到困惑,但我忘记了返回value@Jon非常感谢,为什么这行数组_键(reset($l))?idk如果需要重置(可能是很好的实践),但他这样做是为了您拥有的“A”、“B”、“C”、“D”列标题。你不应该硬编码它们,以防你改变数组later@jon你的两个开头
'td'
而不是
'
是打字错误还是我遗漏了什么?@lEnAk,@jon_darkstar:
重置($l)
是一种说“第一项
$l
”的方式,而不必像
$l[0]
那样指定其索引。这样,即使
$l
没有键为
0
的项,它也能正常工作——在这种情况下没有区别,但一般来说,养成.oh righht是一个好习惯。由于指针没有移动,我最初对为什么要使用它感到困惑,但我忘记了返回值
$mapped = array_combine($h, $l);
// Print the top "headers" row
$columns = array_keys(reset($l));
echo '<table><tr><td>&nbsp;</td>';
foreach ($columns as $column) {
    echo '<td>'.$column.'</td>';
}
echo '</tr>';

// Print each data row
foreach ($mapped as $key => $row) {
    echo '<tr><td>'.$key.'</td>';
    foreach ($row as $cell) {
        echo '<td>'.$cell.'</td>';
    }
    echo '</tr>';
}

// Done!
echo '</table>';
$result = array_combine($h, $l);
<table>
<?php
    echo "<tr>";
    echo "<td>&nbsp</td>";
    foreach(array_keys($l[0]) as $letter)
        echo "<td>$letter</td>"; //A,B,C,D
    echo "</tr>";
    foreach($result as $h_key=>$innerArr)
    {
        echo "<tr><td>$hkey</td>"; //h1,h2
        foreach($innerArr as $key=>$val)
           echo "<td>$val</td>";  //0.1, 1, etc.
        echo "</tr>";
    }
?>
</table>