我的第二个数组在表中显示它有问题..谁能帮我..
<?php
$logdate = "20140918";
$fileloc = $logdate."TPL.log";
if (file_exists($fileloc)) {
$result = array();
$file = explode("n", file_get_contents($fileloc));
$rowFile = count($file);
?>
<table cellpadding="5" cellspacing="0" width="100%" border="1">
<thead>
<tr>
<th>#</th>
<th>Transaction ID</th>
<th>X</th>
</tr>
</thead>
<tbody>
<?php
$x=1;
foreach ( $file as $content ) {
$result[] = array_filter(array_map("trim", explode(";", $content)));
?>
<tr>
<td><?=$x?></td>
<td><?=$result[$x][0]?></td>
<td><?=$result[$x][9]?></td>
</tr>
<?php
$x++;
}
?>
</tbody>
</table>
<?php
} else {
echo "File x exists";
}
?>
实际上我想将记录插入数据库..但我希望它首先在表中查看。 我想如何在列中查看分解结果..
你的代码有重大问题。这一次,您永远不会关闭第一个if
。或者,数组中的索引以 0
开头,而不是 1
开头,所以你不需要$x
。我也不明白<?=$x?>
必须是什么,或者你的意思是什么。试试这个:
<?php
$logdate = "20140918";
$fileloc = $logdate."TPL.log";
if (file_exists($fileloc)) {
$result = array();
$file = explode("n", file_get_contents($fileloc));
$rowFile = count($file);
$output = '<table cellpadding="5" cellspacing="0" width="100%" border="1">
<thead>
<tr>
<th>#</th>
<th>Transaction ID</th>
<th>X</th>
</tr>
</thead>
<tbody>';
foreach ( $file as $key => $content ) {
$result[] = array_filter(array_map("trim", explode(";", $content)));
$output .= '<tr>
<td>'.($key+1).'</td>
<td>'.$result[$key][0].'</td>
<td>'.$result[$key][9].'</td>
</tr>';
}
$output .= '</tbody>
</table>';
} else {
echo "File x exists";
}
}
echo $output;
?>
如果你花更多的时间维护自己的代码,这可能是一件好事。
$x=1;
仅适用于for
循环。
我相信next($file);
会做你想做的事。