Php 映射数组并显示它?
我有: 1-我如何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表格) 我正在尝试输出: -------------------
将(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> </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> </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>