php判斷檢測一個數組裡有沒有重複的值
阿新 • • 發佈:2019-01-02
一、判斷是否有重複值
if (count($arr) != count(array_unique($arr))) {
echo '該陣列有重複值';
}
二、獲取重複的值(一維陣列的值完全相等是重複;如果是二維陣列,二維陣列中的值必須完全相同才是重複)
function getRepeat($arr) { // 獲取去掉重複資料的陣列 $unique_arr = array_unique ( $arr ); // 獲取重複資料的陣列 $repeat_arr = array_diff_assoc ( $arr, $unique_arr ); return $repeat_arr;
三、二維陣列區域性鍵對應值資料判斷是否重複
/* 作用:根據二維陣列中的部分鍵值判斷二維陣列中是否有重複值 引數: $arr —— 目標陣列 $keys —— 要進行判斷的鍵值組合的陣列 返回:重複的值 擴充套件:判斷的鍵值 */ function getRepeat($arr,$keys) { $unique_arr = array(); $repeat_arr = array(); foreach ($arr as $k => $v) { $str = ""; foreach ($keys as $a => $b) { $str .= "{$v[$b]},"; } if( !in_array($str, $unique_arr) ){ $unique_arr[] = $str; } else { $repeat_arr[] = $v; } } return $repeat_arr;