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;