( )利用php提供的函數 array_unique和array_diff_assoc來實現
目前成都創新互聯公司已為1000多家的企業提供了網站建設、域名、網絡空間、網站托管維護、企業網站設計、新邱網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
復制代碼 代碼如下: ?php function FetchRepeatMemberInArray($array) { // 獲取去掉重復數據的數組 $unique_arr = array_unique ( $array ); // 獲取重復數據的數組 $repeat_arr = array_diff_assoc ( $array $unique_arr ); return $repeat_arr; } // 測試用例 $array = array ( apple iphone miui apple orange orange ); $repeat_arr = FetchRepeatMemberInArray ( $array ); print_r ( $repeat_arr ); ?
( )自己寫函數實現這個功能 利用兩次for循環
復制代碼 代碼如下: lishixinzhi/Article/program/PHP/201311/20965
$arr = array(1,2,4,2,0,9,8,5);//定義一個數組。
$arr1 = $arr; //定義另一個數組和上一個數組一樣。
//循環第一個數組讓后循環第二個數組 用第一個數組的每個值和第二個數組比較如果相同就刪除,最后輸出第二個數組就行了。
for($i = 0;$icount($arr);$i++){
for($j=$i+1;$jcount($arr);$j++){
if($arr[$i] == $arr[$j])
unset($arr1[$i]);
}
}
echo'pre';
print_r($arr1);
第二 如果允許使用array_uniqe()函數的話,直接array_uniqe(直接寫數組名就ok)。
在PHP中可以使用內置函數array_unique()來直接刪除重復元素,也可以使用array_flip()函數來間接刪除重復元素。
1.array_unique()函數
array_unique()函數可以移除數組中的重復的值,并返回結果數組;當幾個數組元素的值相等時,只保留第一個元素,其他的元素被刪除。
代碼示例:
?php$result1 = array("a" = "green", "red", "b" = "green", "blue",
"red");var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?
2.array_flip()函數
array_flip()是反轉數組鍵和值的函數,它有個特性就是如果數組中有二個值是一樣的,那么反轉后會保留最后一個鍵和值,利用這個特性我們用他來間接的實現數組的去重。
代碼示例:
?phpheader("content-type:text/html;
charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 輸出原始數組echo "原始數組
:";var_dump($a);// 。
通過使用翻轉鍵和值移除重復值$a = array_flip($a);
// 通過再次翻轉鍵和值來恢復數組元素$a = array_flip($a);// 重新排序數組鍵$a = array_values($a);// 輸出更新后的數組echo "更新數組 :";var_dump($a);?
擴展資料:
在 PHP 中創建數組:
在 PHP 中,?array()?函數用于創建數組:
array();
在 PHP 中,有三種數組類型:
索引數組?- 帶有數字索引的數組。
關聯數組?- 帶有指定鍵的數組。
多維數組?- 包含一個或多個數組的數組。
1、PHP 索引數組
有兩種創建索引數組的方法:
索引是自動分配的(索引從 0 開始):
$cars=array("porsche","BMW","Volvo");
或者也可以手動分配索引:
$cars[0]="porsche";
2、遍歷索引數組:
如需遍歷并輸出索引數組的所有值,可以使用 for 循環,就像這樣:
實例:
?php
$cars=array("porsche","BMW","Volvo");
$arrlength=count($cars);
for($x=0;$x$arrlength;$x++) {
echo $cars[$x];
echo "br";
}
?
3、多維數組:
將在 PHP 高級教程出現多維數組。
參考資料來源:百度百科-PHP
1.首先,題主應該選一個相似度的計算維度,比如content字段,type字段等;
2.其次,題主考慮一下各個字段的權重,比如type字段必須相同,則讓type字段使用typeWeight(例如賦值0.8)作為乘積的因子,而content字段本身是比較長的,所以需要計算出一個hash值,比如使用特定算法計算出一個hash值,然后把這個hash值按照16進制計算得到10進制數,再給一個權重contentWeight(例如0.2),另外再選取一個字段,比如description描述字段,再給一個權重descriptionWeight...
3.最后得到一個當前插入到表中的記錄綜合hash,typeWeight(contentHashcontentWeight+descriptionHash*descriptionWeight
+...),可能會涉及到大整數計算,不過PHP有BCMATH擴展可以使用,最終得到一個數值的綜合hash值,保存到數據庫的一個字段中,這個東西就可以理解為本條記錄的特征值。
"user_log(刪除股票,$user_id,$time,$jinbi);"===錯誤非常有可能就是在這里,數據更新后,再次執行應當放在判斷外面,在里面的話發送的還是原來數據。。。
標題名稱:php重復數據 php重復函數
文章分享:http://vcdvsql.cn/article22/ddoiccc.html
成都網站建設公司_創新互聯,為您提供網站策劃、用戶體驗、網站導航、軟件開發、網站設計公司、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯