【问题标题】:Print multiple arrays into html table将多个数组打印到 html 表中
【发布时间】:2012-08-21 16:00:03
【问题描述】:

我有两个从 XML 响应到 api 构建的数组。一个数组给我一个商店的产品信息,另一个数组给我另一个商店的库存水平。它看起来像这样:

foreach($filteredStock as $t=>$k){
    $codeFirst[] = $k['code'];

    echo '<tr><td>'.$t;
    echo '</td><td>'.$k['desc'];
    echo '</td><td>'.$k['family'];
    echo '</td><td>'.$_POST['filterSelect'];
    echo '</td><td>'.$k['onOrder'];
    echo '</td><td>'.$k['cost'];
    echo '</td><td>'.$k['sell'];
    echo '</td><td>'.$k['invStore'];
    echo '</td>';
}

$output = array();

$result = array_intersect_key($mainArray, array_flip($codeFirst));
foreach($result as $results=>$rValues){

    echo '<td>'.$rValues['inv'];
    echo '</td>'; 
    echo '</tr>';
}

我想显示它,使它在表格中看起来像这样:

code/desc/family/filteredClass/onOrder/cost/sell/invStore/invwarehouse

因为我需要第二个 foreach 循环来获取第二个数组的值,所以试图让它在每一行与另一个数组重复会导致问题。有什么建议么?

【问题讨论】:

    标签: php html arrays html-table


    【解决方案1】:

    与其在每次循环迭代时回显输出,不如按照自己的意愿建立表格,然后在安排妥当后输出?

    从代码中我不清楚你到底想要做什么,但如果这是一个组织问题,那么为什么不将值存储在单独的数组中,然后组合并在输出它们之前适当地排列它们呢?

    对每个循环迭代立即使用 echo 会在一定程度上限制您的选择。

    【讨论】:

    • 我现在感觉有点傻。早该想到的。所以你说只是将一个数组中的值添加到第一个数组中然后做所有的回显?抱歉含糊不清,我不确定是否需要所有信息。
    • 是的 - 您不需要每次运行时都从循环中回显。不用着急!运行两个循环,收集您的信息,并在回显之前按照您的需要正确安排它可能会更好。查找 implode 和 explode 以了解使用 PHP 组合和分离数组的不同方式。希望这能为您指明正确的方向。
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多