array_unique
創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計團(tuán)隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10余年的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都上千余家中小型企業(yè)策劃設(shè)計了網(wǎng)站。
()
函數(shù)用于移除數(shù)組中重復(fù)的值。如果兩個或更多個數(shù)組值相同,只保留第一個值,其他的值被移除。
注意:被保留的數(shù)組將保持第一個數(shù)組項的鍵名類型
首先,我看到這個問題中描述是“如何刪除兩個數(shù)組中相同的元素”,雖然那個人寫了一大堆,竟然用的是array_unique(),從分析到給出的demo一直在解決如何刪除“一個”數(shù)組中“重復(fù)”的元素。汗!答非所問的答案竟然會被采納。
這里,簡單分析一下提問者的真實意圖,分以下2種情況:
1.現(xiàn)在有2個一維數(shù)組, $arr1和$arr2,現(xiàn)在要刪除 $arr1 中存在于 $arr2 的元素。
解決方案:使用array_diff對比返回在 array1 中但是不在 array2 及任何其它參數(shù)數(shù)組中的值,代碼如下:
?php
$arr1?=?array(1,?2,?3,?4);
$arr2?=?array(2,?4);
//這一句即可
$arr1?=?array_diff($arr1,$arr2);
var_dump($arr1);
2.先聲明一下,我看了lt318025大神給出的答案,他的思維非常活躍,已經(jīng)分了2種情況。
現(xiàn)在有2個一維數(shù)組,$a和$b,即刪除$a中存在于$b的元素,刪除$b中$a存在的元素,組后合并返回。
可是lt318025大神用的PHP版本太高,給出的demo在低版本PHP下運(yùn)行失敗,這里修正一下:
?php
$a=array(1,2,3);
$b=array(2,3,4);
//得到存在于$a但不存在于$b中的元素組成的數(shù)組
$c=array_diff($a,$b);
//這里簡單求出在$a但不在$b中的元素
var_dump($c);
//得到存在于$a但不存在于$b中的元素組成的數(shù)組與存在于$b但不存在于$a中的元素組成的數(shù)組的并集
$d=array_merge(array_diff($a,$b),array_diff($b,$a));
//這里徹底剔除了同時存在于$a和$b中的元素
var_dump($d);
究竟是哪一種情況,這需要看提問者的需求了。
這樣的話,是有些麻煩啦,你得一項一項去比較才行,你先比較從2到9這幾項的類型,然后再去比較每一項當(dāng)中的數(shù)目,然后再比較每一項當(dāng)中每一項的值是不是相同才行,比較相同要用“===”,而不是“==”,這一點得注意下;
網(wǎng)頁名稱:php中怎么去除重復(fù)數(shù)據(jù) php移除數(shù)組重復(fù)元素
文章網(wǎng)址:http://vcdvsql.cn/article22/dopjhjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、、網(wǎng)站內(nèi)鏈、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)