我想将数据从列标题名称为ATMP的目录中的文本文档推入数组。在每个文档中,ATMP的位置都可以更改。
这是文本文档的外观
runghc
这是我正在尝试实现的代码 我将在我的php终端中点击“ index.php ATMP”命令以使其运行
代码如下:
WDIR WSPD GST WVHT DPD APD MWD PRES ATMP WTMP DEWP VIS TIDE
degT m/s m/s m sec sec degT hPa degC degC degC mi ft
116 2.8 3.0 99.00 99.00 99.00 999 9999.0 23.8 999.0 16.2 99.0 99.00
117 2.8 3.0 99.00 99.00 99.00 999 9999.0 23.8 999.0 16.2 99.0 99.00
在这里我必须做两件事 1.在将数据推送到数组之前,我必须忽略前两行 2.我必须获得以下ATMP值
我没有解决方法。你能帮我怎么做吗?
答案 0 :(得分:0)
我有编写脚本来获取所需的数据。 (当ATMP列在此位置更改时,此脚本将起作用)
删除多余的代码(出于测试目的。您也可以优化此代码)
<?php
$myFile = "t1.txt";
$lines = file($myFile);//file in to an array
//var_dump($lines);
echo "<pre>";
$top_row=$lines[0];
$top_row = preg_replace('/\s+/', ' ',$top_row);//remove duplicate spaces in lines
$position_data = explode(' ', $top_row);
foreach ($position_data as $key => $value) {
if($value=='ATMP'){
$index=$key;//here is your index or column number where ATMP exist
}
}
print_r($position_data);
unset($lines[0]);
unset($lines[1]); // we do not need these lines.
// exit;
foreach($lines as $key => $line)
{
$line = preg_replace('/\s+/', ' ',$line);//remove only duplicate or multiple spaces
$var = explode(' ', $line);
foreach ($var as $key => $value2) {
if($index == $key){
$arr[]=$value2;
}
}
// print_r($key);
// echo "<br>";
}
echo "<pre>";
print_r($arr);