转换PHP foreach表

时间:2018-05-02 13:20:04

标签: php arrays loops foreach

我似乎无法到达foreach循环的底部..

我有一张桌子:

ID   Col1   Col2    Col3   Col4...
001  some   data    to     display
002  more   info    to     display
....

我想动态构建一个表格,如下所示,但只有1个搜索行......

因此,如果搜索符合ID = 2,那么您将得到:

ID    002
Col1  more
Col2  info
Col3  to
Col4  display
...

结果中的行数将来自读取的列数。

目前我不得不使用一个可怕的固定渲染,如果数据中的列数发生变化,它将不会动态。

    echo '<table class="main"><tr><th colspan="2">Component Information for '.$sheetData[$key]["A"].'</th></tr>';
    echo '<tr><td>'. $sheetData[1]["A"]. '</td><td></td><td>'.$sheetData[$key]["A"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["B"]. '</td><td></td><td>'.$sheetData[$key]["B"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["C"]. '</td><td></td><td>'.$sheetData[$key]["C"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["D"]. '</td><td></td><td>'.$sheetData[$key]["D"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["E"]. '</td><td></td><td>'.$sheetData[$key]["E"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["F"]. '</td><td></td><td>'.$sheetData[$key]["F"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["G"]. '</td><td></td><td>'.$sheetData[$key]["G"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["H"]. '</td><td></td><td>'.$sheetData[$key]["H"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["I"]. '</td><td></td><td>'.$sheetData[$key]["I"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["J"]. '</td><td></td><td>'.$sheetData[$key]["J"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["K"]. '</td><td></td><td>'.$sheetData[$key]["K"]. '</td></tr>';
    echo '<tr><td>'. $sheetData[1]["L"]. '</td><td></td><td>'.$sheetData[$key]["L"]. '</td></tr>';

帮助,我只是无法绕过循环......

1 个答案:

答案 0 :(得分:0)

IF 我了解您要执行的操作,您可以循环浏览$sheetData[$key]并使用这些键拉出左侧的所有$sheetData[1]项的表。我不确定我的解释有多清楚,但它看起来像这样:

// echo your one-time, static html
echo '<table class="main"><tr><th colspan="2">Component Information for '.$sheetData[$key]["A"].'</th></tr>';

// looping through should produce the same output as your example and handle dynamically-sized arrays
foreach($sheetData[$key] as $subKey => $subData) {
    echo '<tr><td>'. $sheetData[1][$subKey]. '</td><td>'.$sheetData[$key][$subKey]. '</td></tr>';
}

// close the table
echo '</table>';