PHP读取dat文件并输出最小差异

PHP读取dat文件并输出最小差异,php,file-get-contents,Php,File Get Contents,这就是我到目前为止所做的: ini_set('auto_detect_line_endings',true); $filename = ('w_data.dat'); $lines = split("\n", file_get_contents($filename)); $spread = array(); for($i = 6; $i < 35; $i++){ echo $lines[$i]; $date = $lines[$i][2] . $lines[$i][3

这就是我到目前为止所做的:

ini_set('auto_detect_line_endings',true);

$filename = ('w_data.dat');

$lines = split("\n", file_get_contents($filename));
$spread = array();

for($i = 6; $i < 35; $i++){
    echo $lines[$i];
    $date = $lines[$i][2] . $lines[$i][3];
    $max = $lines[$i][6] . $lines[$i][7];
    $min = $lines[$i][12] . $lines[$i][13];
    $spread[] = $max - $min;
    $lowest = min($spread);

    echo 'date: ', $date, ' max: ', $max, ' min: ', $min, ' lowest: ', $lowest, ' <br>';
}

print_r($lines);
$veryLowest=null;
对于(…){
...
如果($veryLowest==null | |$lower<$veryLowest){
$veryLowest=/*当前行*/;
}
}
echo$veryLowest;

您的文件中有什么内容?
.dat
文件不是任何标准的东西…为.dat文件+1添加了数据,但将受益于
foreach
而不是增量循环。顺便说一句,祝贺你通过了100K。我是否设置了第一次出现的最低差值?@Smart我不明白这个问题。我想我的例子说明了这一点?我得到了最后一次出现的最小差值。
    1  88    59    74          53.8       0.00 F       280  9.6 270  17  1.6  93 23 1004.5
    2  79    63    71          46.5       0.00         330  8.7 340  23  3.3  70 28 1004.5
    3  77    55    66          39.6       0.00         350  5.0 350   9  2.8  59 24 1016.8
    4  77    59    68          51.1       0.00         110  9.1 130  12  8.6  62 40 1021.1
    5  90    66    78          68.3       0.00 TFH     220  8.3 260  12  6.9  84 55 1014.4
    6  81    61    71          63.7       0.00 RFH     030  6.2 030  13  9.7  93 60 1012.7
    7  73    57    65          53.0       0.00 RF      050  9.5 050  17  5.3  90 48 1021.8
    8  75    54    65          50.0       0.00 FH      160  4.2 150  10  2.6  93 41 1026.3
    9  86    32*   59       6  61.5       0.00         240  7.6 220  12  6.0  78 46 1018.6
   10  84    64    74          57.5       0.00 F       210  6.6 050   9  3.4  84 40 1019.0
   11  91    59    75          66.3       0.00 H       250  7.1 230  12  2.5  93 45 1012.6
   12  88    73    81          68.7       0.00 RTH     250  8.1 270  21  7.9  94 51 1007.0
   13  70    59    65          55.0       0.00 H       150  3.0 150   8 10.0  83 59 1012.6
   14  61    59    60       5  55.9       0.00 RF      060  6.7 080   9 10.0  93 87 1008.6
   15  64    55    60       5  54.9       0.00 F       040  4.3 200   7  9.6  96 70 1006.1
   16  79    59    69          56.7       0.00 F       250  7.6 240  21  7.8  87 44 1007.0
   17  81    57    69          51.7       0.00 T       260  9.1 270  29* 5.2  90 34 1012.5
   18  82    52    67          52.6       0.00         230  4.0 190  12  5.0  93 34 1021.3
   19  81    61    71          58.9       0.00 H       250  5.2 230  12  5.3  87 44 1028.5
   20  84    57    71          58.9       0.00 FH      150  6.3 160  13  3.6  90 43 1032.5
   21  86    59    73          57.7       0.00 F       240  6.1 250  12  1.0  87 35 1030.7
   22  90    64    77          61.1       0.00 H       250  6.4 230   9  0.2  78 38 1026.4
   23  90    68    79          63.1       0.00 H       240  8.3 230  12  0.2  68 42 1021.3
   24  90    77    84          67.5       0.00 H       350  8.5 010  14  6.9  74 48 1018.2
   25  90    72    81          61.3       0.00         190  4.9 230   9  5.6  81 29 1019.6
   26  97*   64    81          70.4       0.00 H       050  5.1 200  12  4.0 107 45 1014.9
   27  91    72    82          69.7       0.00 RTH     250 12.1 230  17  7.1  90 47 1009.0
   28  84    68    76          65.6       0.00 RTFH    280  7.6 340  16  7.0 100 51 1011.0
   29  88    66    77          59.7       0.00         040  5.4 020   9  5.3  84 33 1020.6
   30  90    45    68          63.6       0.00 H       240  6.0 220  17  4.8 200 41 1022.7
$veryLowest = null;

for (...) {
    ...

    if ($veryLowest === null || $lowest < $veryLowest) {
        $veryLowest = /* the current line */;
    }
}

echo $veryLowest;