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

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

Jun 13, 2016 pm 01:09 PM
ip nbsp quot

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));

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

<?php $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);



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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Jul 16, 2023 pm 03:29 PM

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

Windows 11で明るさを調整する10の方法

IP と MAC のバインドは何を意味しますか? IP と MAC のバインドは何を意味しますか? Mar 09, 2023 pm 04:44 PM

IP と MAC のバインドは何を意味しますか?

See all articles