日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php msgid排重,如何应用php数组对百万数据停止排重

發布時間:2024/9/27 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php msgid排重,如何应用php数组对百万数据停止排重 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何應用php數組對百萬數據停止排重

如何應用php數組對百萬數據停止排重

在往常的工作中,常常接到要對網站的會員停止站內信、手機短信、email停止群發信息的告訴,用戶列表普通由別的同事提供,當中難免會有反復,為了避免反復發送,所以我在停止發送信息前要對他們提供的用戶列表停止排重,下面我以uid列表來講講我是如何應用php數組停止排重的。

如果失去一個uid列表,數量在百萬行以上,格式如下:

10001000

10001001

10001002

................

10001000

................

10001111

其實應用php數組的特性,很好停止排重,咱們先來看一下php數組的定義:PHP 中的數組實踐上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。此類型在很多方面做了優化,因此可能把它當成真正的數組,或列表(向量),散列表(是映射的一種完成),字典,匯合,棧,隊列以及更多能夠性。數組元素的值也可能是另一個數組。樹形構造和多維數組也是容許的。

在php的數組中,鍵(keys)也稱為索引,具備惟一性,咱們正可能應用這一特性停止排重,示例代碼如下:

//定義一個數組,用于寄存排重后的后果

$result = array();

//讀取uid列表文件

$fp = fopen('test.txt', 'r');

while(!feof($fp))

{

$uid = fgets($fp);

$uid = trim($uid);

$uid = trim($uid, "r");

$uid = trim($uid, "n");

if($uid == '')

{

continue;

}

//以uid為key去看該值能否存在

if(empty($result[$uid]))

{

$result[$uid] = 1;

}

}

fclose($fp);

//將后果保存到文件

$content = '';

foreach($result as $k => $v)

{

$content .= $k."n";

}

$fp = fopen('result.txt', 'w');

fwrite($fp, $content);

fclose($fp);

?>

20多行代碼,就可能對百萬以上的數據停止排重,效率也不錯,十分適用。手機號、email,也可能采用這種模式停止排重。

還有,這可方法還可能用于兩個文件停止排重的工作,假設你有兩個uid列表文件,格式和上面的uid列表一樣,示例程序如下:

//定義數組,用于寄存排重后的后果

$result = array();

//讀取第一個uid列表文件,放入$result_1

$fp = fopen('test_1.txt', 'r');

while(!feof($fp))

{

$uid = fgets($fp);

$uid = trim($uid);

$uid = trim($uid, "r");

$uid = trim($uid, "n");

if($uid == '')

{

continue;

}

//以uid為key寫入$result,如有反復就會籠罩

$result[$uid] = 1;

}

fclose($fp);

//讀取第二個uid列表文件,并停止排重操作

$fp = fopen('test_2.txt', 'r');

while(!feof($fp))

{

$uid = fgets($fp);

$uid = trim($uid);

$uid = trim($uid, "r");

$uid = trim($uid, "n");

if($uid == '')

{

continue;

}

//以uid為key去看該值能否存在

if(empty($result[$uid]))

{

$result[$uid] = 1;

}

}

fclose($fp);

//$result里保存的就排重當前的后果,可能輸出到文件,代碼省略

?>

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的php msgid排重,如何应用php数组对百万数据停止排重的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。