array_unique
創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標,我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領域包括成都網站建設、網站制作、電商網站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。
()
函數用于移除數組中重復的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。
注意:被保留的數組將保持第一個數組項的鍵名類型
首先,我看到這個問題中描述是“如何刪除兩個數組中相同的元素”,雖然那個人寫了一大堆,竟然用的是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大神給出的答案,他的思維非?;钴S,已經分了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);
究竟是哪一種情況,這需要看提問者的需求了。
?php
$array?=?array(
array(
'id'?=?19,
'title'?=?'總統(tǒng)套房'
),
array(
'id'?=?20,
'title'?=?'豪華套房'
),
array(
'id'?=?21,
'title'?=?'豪華套房'
),
array(
'id'?=?22,
'title'?=?'總統(tǒng)套房'
),
);
foreach?($array?as?$key?=?$value)?{
foreach?($value?as?$k?=?$v)?{
if?($k?==?'title')?{
$new_arr[]?=?$v;
}
}
}
$arr?=?array_unique($new_arr);
echo?implode(',',?$arr);
?
望采納 Thx