php數組去重
阿新 • • 發佈:2017-07-05
替換 數組 方法 組裝 blog 字符串 特定 針對 鍵值
一維數組可以直接使用array_unique()函數去重,或者使用兩次array_flip()去重,但是多維數組的話就需要自己寫了
前幾天針對需要特別不能重復的二維數組中的幾個字段聯合唯一寫了一個簡單的去重方法
private function unique_arr($data) { $temp = array(); foreach ($data as $key => $datum) { $k = $datum[‘site‘].",{$datum[‘no‘]},{$datum[‘code‘]},{$datum[‘type‘]}"; //降維,將需要聯合唯一的字段拼接為成一個字符串做數組的鍵 $temp[$k] = $datum; } $temp_final = []; foreach ($temp as $v){ $temp_final[] = $v; //再將拆開的數組重新組裝 } return $temp_final; }
這裏由於指定的幾個特定的字段需要聯合唯一,因而當出現同樣一個的時候,由於數組的性質,當鍵名已經存在時,鍵值會直接替換掉上一次此鍵名對應的value,因而當有重復內容出現時,會替換掉前一條數據,只會保留最後一條數據,從而達到去重效果
php數組去重