0

我的第二个数组有问题,无法在表格中显示它.. 谁能帮帮我..

<?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";
    }
?> 

实际上我想将记录插入数据库..但我希望它首先在表中查看。我想如何查看列中的爆炸结果..

4

2 回答 2

1

您的代码存在重大问题。这一次,你永远不会关闭第一个if. 或者,数组中的索引以0, not开头,因此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;
?>

如果您花更多时间维护自己的代码,那可能是一件好事。

于 2014-12-03T04:45:52.957 回答
-1

$x=1;仅适用于for循环。

我相信这next($file);会做你想要的。

于 2014-12-03T04:18:17.077 回答