-4

我有这样的内容的线阵列:

 5   1   0   49972729    1813694     7   218     0     0     0      0   747  16811 13911  1  1 96  1  0.53   3.3 12:51:44
 6   1   0   49976522    1806247     3   203     0     0     0      0   613  41885 13113  3  2 95  1  0.86   5.4 12:52:14
  kthr            memory                         page                       faults                 cpu             time
---------- --------------------- ------------------------------------ ------------------ ----------------------- --------
 r   b   p        avm        fre    fi    fo    pi    po    fr     sr    in     sy    cs us sy id wa    pc    ec hr mi se
 8   1   0   49979036    1800213     1   190     0     0     0      0   650  54141 14509  2  2 95  1  0.80   5.0 12:52:44
 6   1   0   49981360    1807204     2   235     0     0     0      0   641  31630 18005  2  1 96  1  0.70   4.4 12:53:14

我想把每一行和以数字开头的每一行都推到一个新数组中。

到目前为止我有这个:

{for ($i=0; $i<sizeof($line); $i++)
if(preg_match("^[0-9]", $line[i]) 
  array_push($line[$i], $new_line);

}

我收到此错误:

Parse error: syntax error, unexpected T_STRING in C:\PHP\cpu.php on line 20

我对 php 很陌生,非常感谢任何见解。

4

2 回答 2

1
$rawLines = explode("\n", $content);
$lines = array();
foreach($rawLines as $rawLine){
    $rawLine = trim($rawLine);
    $parts = explode(" ", $rawLine); //maybe explode("\t", $rawLine);
    $parts[0] = trim($parts[0]);
    if( !ctype_digit($parts[0]) ){
        continue;
    }
    $lines[] = $parts;
}
于 2013-06-25T17:41:48.023 回答
0

当您修复脚本的语法错误()例如缺失)时,您将需要正则表达式的分隔符:

if(preg_match("/^[0-9]/", $line[$i]))
               ^ here ^
于 2013-06-25T17:41:35.363 回答