首先,我看到這個問題中描述是“如何刪除兩個數組中相同的元素”,雖然那個人寫了一大堆,竟然用的是array_unique(),從分析到給出的demo一直在解決如何刪除“一個”數組中“重復”的元素。汗!答非所問的答案竟然會被采納。
創新互聯專注于撫順網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供撫順營銷型網站建設,撫順網站制作、撫順網頁設計、撫順網站官網定制、小程序開發服務,打造撫順網絡公司原創品牌,更為您提供撫順網站排名全網營銷落地服務。
這里,簡單分析一下提問者的真實意圖,分以下2種情況:
1.現在有2個一維數組, $arr1和$arr2,現在要刪除 $arr1 中存在于 $arr2 的元素。
解決方案:使用array_diff對比返回在 array1 中但是不在 array2 及任何其它參數數組中的值,代碼如下:
?php
$arr1?=?array(1,?2,?3,?4);
$arr2?=?array(2,?4);
//這一句即可
$arr1?=?array_diff($arr1,$arr2);
var_dump($arr1);
2.先聲明一下,我看了lt318025大神給出的答案,他的思維非常活躍,已經分了2種情況。
現在有2個一維數組,$a和$b,即刪除$a中存在于$b的元素,刪除$b中$a存在的元素,組后合并返回。
可是lt318025大神用的PHP版本太高,給出的demo在低版本PHP下運行失敗,這里修正一下:
?php
$a=array(1,2,3);
$b=array(2,3,4);
//得到存在于$a但不存在于$b中的元素組成的數組
$c=array_diff($a,$b);
//這里簡單求出在$a但不在$b中的元素
var_dump($c);
//得到存在于$a但不存在于$b中的元素組成的數組與存在于$b但不存在于$a中的元素組成的數組的并集
$d=array_merge(array_diff($a,$b),array_diff($b,$a));
//這里徹底剔除了同時存在于$a和$b中的元素
var_dump($d);
究竟是哪一種情況,這需要看提問者的需求了。
一、這個沒有被合并,只是取的后面這個鍵名的值,
二、$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");
$result
=
array_unique
($input);
print_r($result);
輸出的結果:Array
(
[11]
=
aaada
[22]
=
bbbb
[33]
=
cccc
[44]
=
cccc1
)
鍵名33
和
55
的值完全一樣的時候,后者會被干掉
如果你要的是鍵名和值完全一致的時候才刪除一個的話,似乎不能,因為鍵名是不允許重復的
聽你的情況似乎數據量很大,建議你使用
array_flip()函數
【php中,刪除數組中重復元素有一個可用的函數,那就是array_unique(),
但是它并不是一個最高效的方法,使用array_flip()函數將比array_uniqure()在速度上高出五倍左右。】
例子:$input=array("11"="aaaa","22"="bbbb","33"="cccc","11"="aaada","44"="cccc1","55"="cccc");
$arr1
=
array_flip(array_flip($input));
print_r($arr1);
輸出的結果:Array
(
[11]
=
aaada
[22]
=
bbbb
[55]
=
cccc
[44]
=
cccc1
)
php頁面上放一個刪除數據庫重復數據的功能按鈕,就是使用PHP操作數據庫刪除重復數據的SQL語句,然后重新查詢綁定輸出。
如果是PHP操作數據庫不明白的話,就找PHP操作數據庫這篇內容來看。
如果是用SQL語句來刪除數據庫重復數據不明白的話就找SQL刪除重復數據這方面的內容。
如果你要具體的實現代碼,不好意思,幫不了你,這需要你自己找,自己實現。這是程序員必備的技能。
當前標題:php如何剔除相同數據 怎么剔除相同數據
URL標題:http://vcdvsql.cn/article24/doooice.html
成都網站建設公司_創新互聯,為您提供面包屑導航、動態網站、網站營銷、定制網站、App設計、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯