ホームページ > バックエンド開発 > PHPチュートリアル > PHPのテキストデータ内の重複データを表示するにはどうすればよいですか?重複データを削除し、重複データの 1 つだけを残す方法

PHPのテキストデータ内の重複データを表示するにはどうすればよいですか?重複データを削除し、重複データの 1 つだけを残す方法

WBOY
リリース: 2016-06-13 13:09:18
オリジナル
1000 人が閲覧しました

PHPのテキストデータ、重複したデータを表示するにはどうすればよいですか?重複データを削除し、重複データの 1 つだけを保持するにはどうすればよいですか?
データ ファイル ip.txt、次のような IP データの一部は同じです:

1348453617|95.6.5.162|2012-09-24 10:26:57
1348453024|180.254。 252.144| 2012-09-24 10:17:04
1348453020|180.254.252.144|2012-09-24 10:17:00
1348453018|180.254.252.144|2012-09-2 4 10:16:5 8
1348453008|112.210.114.169|2012-09-24 10:16:48
1348453007|112.210.114.169|2012-09-24 10:16:47
1348372772| 119.178 .17.181|2012- 09-23 11:59:32
1348363141|110.187.62.65|2012-09-23 09:19:01

IP データが重複するコンテンツのみを表示および出力する php ファイルの作成方法、例:
1348453024|180.254.252.144|2012-09-24 10:17:04
1348453020|180.254.252.144|2012-09-24 10:17:00
1348453018 |180.254 .252.144| 2012-09-24 10:16:58
1348453008|112.210.114.169|2012-09-24 10:16:48
1348453007|112.210.114.169|2012-09-24 10:16:4 7

再度、php を実行し、重複データを削除し、重複データの最後の項目のみを保持する方法を取得します。 180.254.252.144|2012-09-24 10:17:04
1348453008|112.210.114.169|2012-09-24 10:16:48
1348372772|119.178.17.181|20 12-09-23 11:59 :32
13 48363141|110.187 .62.65|2012-09-23 09:19:01


//専門家が php ファイルを作成して、上記の効果
$ipfile="ip.txt ";
if($del==1){
$old=file("$ipfile");
$num=count($old );
$fp=fopen("$ ipfile","w");
$no=$num-1;

for ($i=0;$i<$num; $i++){
list($usre, $ip,$time)=explode("|",$old[$i]);
if($ip!=$delip){ fputs($fp ,$old[$i]); }
}
fclose($fp);
}
//ip.php?del=1&delip=$ip このように書くと、重複した IP がすべて削除されます。重複した IP を削除し、最後の重複した IP を保持するにはどうすればよいですか?>


------解決策-------------- ------

for ($i=0;$i list($usre,$ip,$time)=explode("|",$old[$i]); if ($ip!=$delip){ fputs($fp,$old[$i]); }
}
が ($i= の場合)
$t = array();
に変更されました0;$i list($usre,$ip,$time)=explode("|",$old[$i]);
if(isset($t [$ip])) {
unset($old[$t[$ip]]);
unset($t[$ip]);
}
$t[$ip] = $i;
}
fputs($fp, join('', $old));

------解決策----------------------

$fp= fopen ("ip.txt","r"); while($file=fgets($fp)){

$arr[]=trim($file);
}
for($i=0;$i $t=explode("|",$arr[$i]);

$t1 [ ]=array("list"=>$t[0],"ip"=>$t[1],"time"=>$t[1]);

}
for($j=0;$j if($t1[$j]['ip']==$t1[$j+1][' ip ']){
}else{
$t2[]=$t1[$j];
}
}
fclose($fp);
$fp2=fopen ( "ip.txt","w");
foreach($t2 as $val){
$t3=$val['list']."|".$val['ip'] " |".$val['time'];
fwrite($fp2,$t3."rn");
}
fclose($fp2);



?>
テスト済み、問題ありません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート