【问题标题】:multidimensional PHP array of arrays to HTML table question多维PHP数组数组到HTML表格问题
【发布时间】:2019-12-14 03:13:27
【问题描述】:

我见过类似的问题,但我的问题是我的数组比我见过的更复杂,而且我还不够熟练,无法推断。 我有一个数组作为常量,我需要将它回显到一个表中。

这是我想出的。

echo "<table>";
foreach (TAX_RATES as $val => $key) {
    foreach($key as $kk =>$vv){
        foreach($vv as $aa => $bb){
            echo '<tr><td>'."$bb</br>".'</td>';
        }
        echo '<td>'."$kk</br>".'</td>';
    }
echo '<td>'."$val</br>".'</td></tr>';
}
echo "</table>";

这是我的数组:

define('TAX_RATES',  
    array(
        'Single' => array(
            'Rates' => array(10,15,28,33,35,39.6),
            'Ranges' => array(0,8275,37650,91150,190150,413350,415050),
            'MinTax' => array(0,927.50,5183.75,18558.75,46278.75,119934.75,120529.75)
        ),
        'Married_Jointly' => array(
            'Rates' => array(10,15,25,28,33,35,39.6),
            'Ranges' => array(0,18550,75300,151900,231450,413350,466950),
            'MinTax' => array(0,1855,10367.5,29517.5,51791.5,111818.5,130578.5)
        ),
        'Married_Separately' => array(
            'Rates' => array(10,15,25,28,33,35,39.6),
            'Ranges' => array(0,9275,37650,75950,115728,206675,233475),
            'MinTax' => array(0,927.5,5183.75,14758.75,25895.75,55909.25,65289.25)
        ),
        'Head_Household' => array(
            'Rates' => array(10,15,25,28,33,35,39.6),
            'Ranges' => array(0,13250,50400,130150,210800,413350,441000),
            'MinTax' => array(0,1325,6897.5,26835,49417,116258.5,125936)
        )
    )
    );

只需要 minTax 值来计算实际税金。 期望的结果是

Single
Income Range          Tax
0                      0
8275                "927.50 + .1*income" (i can figure this part out)
37650               "5183.75 + .15*income"
etc                 etc

【问题讨论】:

  • 您正在为内部循环中的每个单个值创建一个表格行……“期望的结果是” - 什么,只有两列?为此,您在代码中创建了太多的 TD,您不觉得吗?
  • 是的,我已经超出了我的深度。只展示了非常基本的例子,可以说是为了计算太阳的质量。我被展示了如何循环一个更简单的数组,而没有展示任何关于制作表格的内容。
  • 你想在这里输出一个相邻的范围和税率,所以你不能一个接一个地逐个循环。我建议在该位置使用for 循环,以便您可以同时通过索引从这两个子数组中访问适当的元素。
  • 猜猜这应该很接近了,3v4l.org/025UC ?
  • 很可爱。我之前尝试过类似的东西,但现在我发现我不明白它是如何正常工作的。仍然不完全在那里。 [i] 在做什么,特别是在 ['Ranges'] 之后?这像索引号吗?

标签: php html arrays multidimensional-array


【解决方案1】:

你可以通过改变 tr td 从下面弄清楚

foreach($data as $k => $v)
{
  echo "<tr><td>$k</td></tr>";
    foreach($v as $key => $value)
    {
      echo "<tr><td>".$key."</td></tr>";
      echo "<tr>";
      for($i=0;$i<count($value);$i++) {
        echo "<td>".$value[$i]."</td>"; 
      }
      echo "</tr>";
    }
}

【讨论】:

    猜你喜欢
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 2011-04-24
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多