请教个问题比较急!谢谢!~ 能不能考虑倒到数据库里再这么做呀.PHP处理文本的能力不强.而且受时间的限制文本如果够大的话,很容易报错 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $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]; }} 上面有点误, $TwoRow = explode(",",$arrayTwo[$j]);中间应该是","号或你想要的分隔符 <?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>";}?> 试了都不成功,这样我把两个文本库提供一下,看看,可能文本文件比较怪http://210.51.10.142/cgi/abc.rar里面有一个aaa.txt,bbb.txt文本现在想把aaa.txt,bbb,txt对比,最后把aaa.txt里有的手机号有而bbb.txt里面没有的资料显示出来,大家帮帮忙,急!!!! aaa.txt13810012311 | 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.txt138100123111375123123113920123323程序<?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 | 如何在页面中显示出调用数据库信息? 这样的嵌套查询,为什么查不到数据 PHP画图可以在保存到文件中,但是在浏览器只是一个叉 HTTP_X_FORWARDED_HOST的问题 php环境搭建求专家给技术文档~ about php 怎样判别数据库记录未找到? 本地运行php 遇到文件夹不可写的问题! 旧写法如何转换成新写法 从文件中读取内容的问题!!!!!!!!! 讨论:关于PHP实现多服务器WEB同步问题? php读文本文件的问题,
$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];
}
}
中间应该是","号或你想要的分隔符
$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>";
}
?>
看看,可能文本文件比较怪
http://210.51.10.142/cgi/abc.rar里面有一个aaa.txt,bbb.txt文本
现在想把aaa.txt,bbb,txt对比,最后把aaa.txt里有的手机号有而bbb.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 |