将多个数组打印到html表中


Print multiple arrays into html table

我有两个从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/afamily/filteredClass/onOrder/cost/sell/invStore/invwarehouse

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

与其在每次循环迭代时都回显输出,为什么不按照自己的意愿构建表,然后在正确排列后输出呢?

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

在每次循环迭代中立即使用echo在一定程度上限制了您的选择。