2012-07-16 34 views
-2

這是我到目前爲止有:PHP讀取dat文件和輸出最低區別

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); 

我得到的所有30天的輸出。我只需要具有最低差異的線。

感謝您的幫助。

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 
+1

是什麼文件?一個'.dat'文件並不是標準的東西...... – 2012-07-16 13:33:55

+0

爲.dat文件 – 2012-07-16 14:01:34

回答

1
$veryLowest = null; 

for (...) { 
    ... 

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

echo $veryLowest; 
+0

+1添加了數據,但會受益於'foreach'而不是增量循環。順便說一句,祝賀100k通過 – 2012-07-16 13:35:52

+0

如何設置第一次出現的最低差異? – 2012-07-16 14:01:14

+0

@智能我不明白這個問題。我認爲我的例子證明了它? – deceze 2012-07-16 14:32:34