【问题标题】:PHP HTML and array - show result from array in specific wayPHP HTML 和数组 - 以特定方式显示数组的结果
【发布时间】:2018-11-10 06:32:59
【问题描述】:

我在显示数组结果时遇到了一点问题。

我想在 html 表中显示来自数组的信息,但是以特定的方式。我制作了一张图片,显示了我希望结果的样子 我有这个数组:

$array[] = array('date' => $datesMonth, 'buro' => $buro_name, 'pechalba' => $pechalba, 'ime' => $ime);

echo '<pre>'.print_r($array,1).'</pre>';

Array
(
    [0] => Array
        (
            [date] => 2018-05-01
            [buro] => Kate
            [pechalba] => 48.66
            [ime] => silvi
        )

    [1] => Array
        (
            [date] => 2018-05-02
            [buro] => Kate
            [pechalba] => 135.09
            [ime] => silvi
        )

    [2] => Array
        (
            [date] => 2018-05-03
            [buro] => Kate
            [pechalba] => 288.03
            [ime] => cveti
        )

    [3] => Array
        (
            [date] => 2018-05-04
            [buro] => Kate
            [pechalba] => 95.36
            [ime] => silvi
        )

    [4] => Array
        (
            [date] => 2018-05-05
            [buro] => Kate
            [pechalba] => 74.62
            [ime] => maya
        )

    [5] => Array
        (
            [date] => 2018-05-01
            [buro] => Sisi
            [pechalba] => 54.3
            [ime] => ivo
        )

    [6] => Array
        (
            [date] => 2018-05-02
            [buro] => Sisi
            [pechalba] => 169.01
            [ime] => ivo
        )

    [7] => Array
        (
            [date] => 2018-05-03
            [buro] => Sisi
            [pechalba] => 216.31
            [ime] => ivo
        )

    [8] => Array
        (
            [date] => 2018-05-04
            [buro] => Sisi
            [pechalba] => 285.6
            [ime] => ivo
        )

    [9] => Array
        (
            [date] => 2018-05-05
            [buro] => Sisi
            [pechalba] => 11.7
            [ime] => ivo
        )

    [10] => Array
        (
            [date] => 2018-05-01
            [buro] => Gala
            [pechalba] => 20.44
            [ime] => maya
        )

    [11] => Array
        (
            [date] => 2018-05-02
            [buro] => Gala
            [pechalba] => 55.49
            [ime] => maya
        )

    [12] => Array
        (
            [date] => 2018-05-03
            [buro] => Gala
            [pechalba] => 161.23
            [ime] => maya
        )

    [13] => Array
        (
            [date] => 2018-05-04
            [buro] => Gala
            [pechalba] => 69.29
            [ime] => cveti
        )

    [14] => Array
        (
            [date] => 2018-05-05
            [buro] => Gala
            [pechalba] => 36.13
            [ime] => silvi
        )

)

我想以这种方式在html表中显示数组中的信息:

是否可以使用 php 来做到这一点,如果可以,我该怎么做?

【问题讨论】:

  • 先按名称对它们进行分组,以便您可以将每个名称分配到各自的表中,创建表后,剩下的只是css的接触
  • 我的答案是您想要的吗?如果有帮助或有任何问题,请给我反馈
  • @NoOorZ24 这是您回答link的结果@
  • 检查我更新的答案,它现在应该可以工作了
  • @NoOorZ24 不错!你是忍者!谢谢你!

标签: php html arrays foreach


【解决方案1】:

这会从数组中生成表格,表格的样式由您决定。

$groups = [];
foreach ($array as $data) {
    if (!in_array($data['buro'], $groups)) {
        $groups[$data['buro']][] = $data;
    }
}
// create header
echo "<tr>";
foreach($groups as $key => $group) {
    echo "<th colspan='3'>" . $key . "</th>";
}
echo "</tr>";

// create body
$stack = count(array_values($groups)[0]);

for ($i = 0; $i < $stack; $i++) {
    echo "<tr>";
    foreach ($groups as $group) {
        echo "<td>" . $group[$i]['date'] . "</td>";
        echo "<td>" . $group[$i]['pechalba'] . "</td>";
        echo "<td>" . $group[$i]['ime'] . "</td>";
    }
    echo "</tr>";
}

更新:我在本地运行它并修复了我的错误,现在它似乎按预期工作了

【讨论】:

  • 它不工作! link 这是您的代码的结果!
  • @BorislavRazvanski 你能添加 print_r($groups) 的输出和代码是如何实现的图像吗?
  • @BorislavRazvanski 这条线真的看起来像 $groups[] = [$data['buro'] => $data];而不是 $groups[] = [$data]; ?你真的没有在 foreach 循环中放 $array 而不是 $groups 吗?
  • 这是我的代码:link 结果在这里:link
  • 太好了!你是忍者!谢谢!
猜你喜欢
  • 2014-12-22
  • 2012-12-07
  • 1970-01-01
  • 2012-02-14
  • 2021-04-19
  • 2016-02-11
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
相关资源
最近更新 更多