读第一个文件,一行一行的读,以空格分开第一段与第二段
并将值存到数据库中
数据库的结构为:
id first second
1 80 136781402531
2 20 51176187841
3 1953 12197351907然后读第二个文件,看first的值有没有,如果有的话就把值相加,如果没有就添加,最后以second值排序
并将值存到数据库中
数据库的结构为:
id first second
1 80 136781402531
2 20 51176187841
3 1953 12197351907然后读第二个文件,看first的值有没有,如果有的话就把值相加,如果没有就添加,最后以second值排序
先把文件1和文件2按第1列排序, 然后利用类似合并排序的思想来做合并和加法, 最后再排一次序.
###get ip1
$fp=@fopen("/data/12345","r");$i1=0;
while ($array= fgetcsv($fp,50," "))
{
for($j=0;$j<2;$j++)
{
$ip1[$i1][$j]=$array[$j];
}
$i1+=1;
}
echo $ip1[10][1];
echo " ";
echo "$i1";###get ip2
$fp=@fopen("/data/22345","r");$i2=0;
while ($array= fgetcsv($fp,50," "))
{
for($j=0;$j<2;$j++)
{
$ip2[$i2][$j]=$array[$j];
}
$i2+=1;
}
echo $ip2[10][1];
echo " ";
echo "$i2";
### Vergleichen und addieren
for ($j=0;$j<=$i2;$j++)
{
for ($n=0;$n<=$i1;$n++)
{
if ($ip1[$n][0] == $ip2[$j][0])
{
$ip1[$n][1]=$ip1[$n][1]+$ip2[$j][1];
break;
}
if ($n=$i1)
{
$ip1[$n+1][0]=$ip2[$j][0];
$ip1[$n+1][1]=$ip2[$j][1];
$i1=$i1+1;
}
}
}
for ($z=0;$z<=$i1;$z++)
{
echo $ip1[$z][0]."<br>";
}
### neu Datei schreiben
?>