能不能考虑倒到数据库里再这么做呀.PHP处理文本的能力不强.而且受时间的
限制文本如果够大的话,很容易报错

解决方案 »

  1.   

    $fp=fopen("a.txt","r");
    $arrayOne= fread($fp,filesize("a.txt"));
    $arrarOne=explode("\n",$arrarOne);
    得到a文件数组
    $fp=fopen("b.txt","r");
    $arrayTwo= fread($fp,filesize("a.txt"));
    $arrarTwo=explode("\n",$arrarTwo);
    得到B文件数组
    for($i=0;$arrayOne[$i];$i++)
    {
        for($j=0;$arrayTwo[$j];$j++)
        {  
             $TwoRow = explode(" ",$arrayTwo[$j]);
            if($arrayOne[$i]==$TwoRow[0])
             echo $arrayTwo[$j];
        }
    }
      

  2.   

    上面有点误, $TwoRow = explode(",",$arrayTwo[$j]);
    中间应该是","号或你想要的分隔符
      

  3.   

    <?php
    $users = file("aaa.txt");
    foreach($users as $k=>$v)
      $users[$k] = preg_replace("/[\r\n]/","",$v);$buffer = file("bbb.txt");
    foreach($buffer as $v) {
      $ar = split(",",$v);
      if(! in_array($ar[0],$users))
        echo join(" ",$ar)."<br>";
    }
    ?>
      

  4.   

    试了都不成功,这样我把两个文本库提供一下,
    看看,可能文本文件比较怪
    http://210.51.10.142/cgi/abc.rar里面有一个aaa.txt,bbb.txt文本
    现在想把aaa.txt,bbb,txt对比,最后把aaa.txt里有的手机号有而bbb.txt里面没有的资料显示出来,大家帮帮忙,急!!!!
      

  5.   

    aaa.txt
    13810012311 |   6.00 | 2004-04-01 09:07:39 |
    | 13601231231 |   6.00 | 2004-04-01 09:36:18 |
    | 13628131123 |   6.00 | 2004-04-01 10:00:42 |
    | 13751231231 |   6.00 | 2004-04-01 10:13:25 |
    | 13920123323 |  15.00 | 2004-04-22 20:24:31 |bbb.txt
    13810012311
    13751231231
    13920123323程序
    <?php
    $users = file("data/bbb.txt");
    foreach($users as $k=>$v)
      $users[$k] = preg_replace("/[\r\n]/","",$v);$buffer = file("data/aaa.txt");
    foreach($buffer as $v) {
      $ar = split(" ",preg_replace("/^\| +/","",$v));
      if(! in_array($ar[0],$users))
        echo join(" ",$ar)."<br>";
    }
    ?>结果
    13601231231 | 6.00 | 2004-04-01 09:36:18 | 
    13628131123 | 6.00 | 2004-04-01 10:00:42 |