我正在使用shell_exec来获取一些bash行输出。这将以文本形式返回:
22/tcp open ssh
80/tcp open http
153/tcp closed unknown
443/tcp open https
然后我使用preg_split创建一个数组,使用' / \ s + /' 在空格和换行符上拆分,回显阵列得到:
Array
(
[0] => 22/tcp
[1] => open
[2] => ssh
[3] => 80/tcp
[4] => open
[5] => http
[6] => 153/tcp
[7] => closed
[8] => unknown
[9] => 443/tcp
[10] => open
[11] => https
)
我希望能够将这些值放入3列表(甚至更好的DIV集合)中,这些表在数据集扩展时展开(因此从bash输出返回的n行循环)。我如何将上面的数组放到table / div中,其中这个例子中的行看起来像:
____________________________
| 22/tcp | open | ssh |
| 80/tcp | open | http |
| 153/tcp | closed | unknown |
| 443/tcp | open | https |
答案 0 :(得分:2)
快速循环:
for ( $i = 0, $len = count($array); $i < $len; $i += 3)
{
echo '<tr>
<td>' . $array[$i] . '</td>
<td>' . $array[$i+1] . '</td>
<td>' . $array[$i+2] . '</td>
</tr>';
}
您可以在行动here中看到它。
您也可以使用array_chunk()
来获得所需的结果:
foreach ( array_chunk($array, 3) as $chunk )
{
echo '<tr>
<td>' . $chunk[0] . '</td>
<td>' . $chunk[1] . '</td>
<td>' . $chunk[2] . '</td>
</tr>';
}
您可以在行动here中看到它。