从PHP数组输出隐藏列

时间:2014-05-04 04:19:48

标签: php arrays hide output

我有一个代码从.txt文件中提取数据并将其放入HTML表格中。编写代码的方式会提取比我需要的更多的数据。如何隐藏输出中的列?这将返回9列,我只需要前5列。

<?php

function toASCII($str) {
    return strtr(utf8_decode($str), utf8_decode(
                    'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'), 'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
}

require_once 'meekrodb.php';

DB::$user = 'root';
DB::$password = '';
DB::$dbName = 'test';
$dirArray = array();

$dirpath = 'C:\xampp\htdocs\auditscripts\SCRIPTS\\';
$SERVERNAME=array();

// open this directory 
$myDirectory = scandir($dirpath);
// get each entry
foreach ($myDirectory as $value) {

    if (is_dir($dirpath . $value)) {
        $myDirectory = scandir($dirpath . $value);

        if (is_file($dirpath . $value . '\secedit_mergedpolicy.txt')){
            $dirArray[] = $dirpath . $value . '\secedit_mergedpolicy.txt';

            $servername[]=$value;
            }
    }
}

//  count elements in array
$indexCount = count($dirArray);
Print ("$indexCount files<br>\n");
// sort 'em
sort($dirArray);
// print 'em
print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
print("<TR><TH>Server Name</TH><th>VALUE01</th><th>VALUE02</th><th>VALUE03</th><th>VALUE04</th><th>VALUE05</th></TR>\n");
// loop through the array of files and print them all
for ($index = 0; $index < $indexCount; $index++) {
    if (substr("$dirArray[$index]", 0, 1) != ".") { // don't list hidden files
        $data_tisert = array();
        print("<TR><TD>$servername[$index]</td>");


        $myString = file_get_contents($dirArray[$index]);



        $l1 = explode('<br />', nl2br($myString));



        $st = false;
        foreach ($l1 as $vx) {
        if (!strpos($vx,'=')){
            $st=false;
            }
            if ($st) {
                $l1_1 = explode('=', $vx);
                print("<TD>$l1_1[1]</td>");
                $data_tisert[] = $l1_1[1];
            }
           /// echo trim(utf8_encode($vx)) == '[Event Audit]' ? 'y' : 'n';



            if (utf8_encode(trim($vx)) == utf8_encode('[Event Audit]')) {

                $st = true;
            }

        }

        DB::insert('event_audit', array(
            'VALUE01' => $data_tisert[0],
            'VALUE02' => $data_tisert[1],
            'VALUE03' => $data_tisert[2],
            'VALUE04' => $data_tisert[3],
            'VALUE05' => $data_tisert[4],
        ));
        print("</TR>\n");
    }
}
print("</TABLE>\n");
?>

1 个答案:

答案 0 :(得分:0)

如果你只想要5,只需在你的阵列上放一个计数器:

而不是:

foreach ($l1 as $vx) {

使用

for ($ii=0; ( ($ii < 5) && ($ii < count($l1)) ); $ii++){
   $vx = $l1[$ii];