[PHP] 重複データをひとつにまとめる

2006年10月31日 火曜日 03時10分
E-Mail This Post/Page Print This Post/Page

Phpを使って沢山あるデータの中から、重複する部分を拾い上げて、ひとつにまとめてしまうことができます。例えば、オンライン上で見つけた Ping Server のURLが他とダブっていないかをスクリプトで一発で処理してしまうことができます。

http://www.blogoon.net/ping/
http://www.ranq.jp/xmlrpc/-/Ewymv0s/SvG1i/
http://www.blogoon.net/ping/
http://www.ranq.jp/xmlrpc/-/Ewymv0s/SvG1i/
http://www.trackbackcenter.com/cgi-bin/receive.cgi
http://xmlrpc.blogg.de/

上記のリストがあるとします。この中には重複URLが存在しているのですが、これだけの数だと一つ一つ目で追って確認できますが、これが100個近くなると大変な作業です。ということで、この作業を自動化します。

以下、大まかな流れです。

1.URLを配列に収めるのですがこのままですと分割しにくいので、preg_replace() を使って http の前にスペースを入れます。

2.explode() で挿入したスペースを区切りにURLを配列に分配していきます。

3.array_unique() で重複するデータを削除してひとつにまとめます。

4.implode() で配列を元の変数に戻します。

<?
 
$txt="
http://www.blogoon.net/ping/
http://www.ranq.jp/xmlrpc/-/Ewymv0s/SvG1i/
http://www.blogoon.net/ping/
http://www.ranq.jp/xmlrpc/-/Ewymv0s/SvG1i/
http://www.trackbackcenter.com/cgi-bin/receive.cgi
http://xmlrpc.blogg.de/
";
 
$txt = preg_replace('/http/i', ' http', $txt); // -- 1
$array = explode(" ", $txt); // -- 2
$num_imput = count($array);
 
$array = array_unique($array); // -- 3
$num_result = count($array);
$i =0;
 
// 表示を見やすくするために<br>を挿入
while ($i <= $num_imput){
  $array[$i] .= ' <br>'; 
  $i++;
}
 
$array = implode(" ", $array); // -- 4
 
echo "<p>input: $num_imput, output: $num_result</p>";
echo $array;
 
?>

以下のような結果が表示されます。

input: 7, output: 5

http://www.blogoon.net/ping/
http://www.ranq.jp/xmlrpc/-/Ewymv0s/SvG1i/
http://www.trackbackcenter.com/cgi-bin/receive.cgi
http://xmlrpc.blogg.de/

この記事に関連する NEWS

この記事に関連するトピック

このエントリーへの Yahoogle Suggestions

Trackback this Post |

 

記事ヒット TOP 10

IT 関連 NEWS

    There is no entries available for this category.

PHP関連 NEWS

    There is no entries available for this category.

PHP Tips from Social Bookmarks

    There is no entries available for this category.

PHPに関するフォーラムトピック

    There is no entries available for this category.

Tag Cloud

admin Admin Drop Menus Admin Memo Admin Panel advanced drop menus array unique blog cron dabeya Dagon Design Sitemap Generator dropcap Edit N Place error Feedburner game google hack html HTML CSS Internet NEWS Permalink Redirect PHP phpBB2 plugin RSS scripts search stattraq template the content Ultimate Tag Warrior Web Management Windows XP Wordpress WP Plugins WPページ  拡張子 カスタマイズ カスタム関数 カテゴリー コード セキュリティ タグ トップページ トラックバック フィード 投稿 抜粋 日本語 時刻 時間 正規表現 表示 記事

サイト メニュー

Blogtimes image
ぱそずき :D)‐く © 2008
Close
E-mail It