php數(shù)據(jù)去除重復(fù) php去重函數(shù)

php在數(shù)組里怎么去掉非重復(fù)的值,保留重復(fù)值

$array?=?[1,2,3,4,5,6,7,8,9,5,4,4,4,3,2];

成都創(chuàng)新互聯(lián)是一家專業(yè)提供巴楚企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為巴楚眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

$exist?=?[];

$repeat?=?[];

foreach($array?as?$v){

if(in_array($v,$exist)){

array_push($repeat,$v);?//不存在的放入exist中

}else{

array_push($exist,$v);?//已存在的放入repeat中

}

}

var_dump($repeat);?//repeat即為重復(fù)的數(shù)據(jù)

$unique_repeat?=??array_unique($repeat);?//如果多次重復(fù)的值只取一次,可以去重一下

var_dump($unique_repeat);

php如何刪除兩個數(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大神給出的答案,他的思維非?;钴S,已經(jīng)分了2種情況。

現(xiàn)在有2個一維數(shù)組,$a和$b,即刪除$a中存在于$b的元素,刪除$b中$a存在的元素,組后合并返回。

可是lt318025大神用的PHP版本太高,給出的demo在低版本PHP下運行失敗,這里修正一下:

?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);

究竟是哪一種情況,這需要看提問者的需求了。

php 如何去除多維數(shù)組指定重復(fù)出現(xiàn)的值

array_unique

()

函數(shù)用于移除數(shù)組中重復(fù)的值。如果兩個或更多個數(shù)組值相同,只保留第一個值,其他的值被移除。

注意:被保留的數(shù)組將保持第一個數(shù)組項的鍵名類型

網(wǎng)站欄目:php數(shù)據(jù)去除重復(fù) php去重函數(shù)
網(wǎng)站鏈接:http://muchs.cn/article40/doeddeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、外貿(mào)建站響應(yīng)式網(wǎng)站、網(wǎng)站制作、App開發(fā)網(wǎng)頁設(shè)計公司

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)