我的shell脚本的输出如下所示
RUN TRT FLO MAT TOPWT HARWT RAIN TIRR CET PESW TNUP TNLF TSON TSOC
dap dap kg/ha kg/ha mm mm mm mm kg/ha kg/ha kg/ha t/ha
1 WH 1 217 250 7615 2848 600 0 422 141 76 54 7841 79
2 WH 2 217 250 10018 4150 600 0 431 139 105 78 7841 79
3 WH 3 217 250 11087 4416 600 0 430 138 131 163 7841 79
4 WH 4 217 250 5895 1737 600 213 446 144 52 16 7838 79
5 WH 5 217 250 7787 2338 600 213 446 143 69 18 7838 79
6 WH 6 217 250 9610 3519 600 213 450 139 94 46 7838 79
我正在尝试将这些内容加载到网页上的表格中。
注意:我使用explode()
但无法找到将数组中的值放入表中的方法。
"纠正我,如果我的方法是错误的"。
我的代码:
<?php
$output = shell_exec("cd DSSAT46; ./dscsm046 CSCER046 A KSAS8101.WHX 2>&1");
$arr = explode(" ",$output);
print_r($arr);
echo "<table><tr>";
foreach ($output as $row)
{
echo '<tr>';
echo '<td>' . $row['RUN'] . '</td>';
echo '<td>' . $row['TRT'] . '</td>';
echo '<td>' . $row['FLO dap'] . '</td>';
echo '</tr>';
}
?>
答案 0 :(得分:0)
如果您想使用explode()
,则需要分两步完成。在我的回答中,我假设:
\n
作为行分隔符,\t
(制表符)作为列分隔符。您可以尝试以下代码:
<?php
// assuming $output contains the output you got from shell
$lines = explode("\n", $output);
// starting from 2 to ignore the title
echo '<table>';
for ($i = 2; $i < sizeof($lines); $i++) {
echo '<tr>';
$columns = explode("\t", $lines[$i]);
foreach ($columns as $data) {
echo '<td>'.$data.'</td>';
}
echo '</tr>';
}
echo '</table>';