PHP數(shù)組去重的方法有以下幾種:
- 使用array_unique函數(shù):該函數(shù)可以去除數(shù)組中重復(fù)的值,并返回一個(gè)新的數(shù)組。
$uniqueArray = array_unique($array);
- 使用循環(huán)遍歷數(shù)組:遍歷數(shù)組,并使用in_array函數(shù)判斷當(dāng)前值是否已存在于新數(shù)組中,如果不存在則加入新數(shù)組。
$uniqueArray = array();
foreach ($array as $value) {
if (!in_array($value, $uniqueArray)) {
$uniqueArray[] = $value;
}
}
- 使用array_flip和array_keys函數(shù):使用array_flip函數(shù)將數(shù)組的鍵和值互換,然后使用array_keys函數(shù)將鍵取出,即可得到去重的結(jié)果。
$uniqueArray = array_keys(array_flip($array));
- 使用array_reduce函數(shù):使用array_reduce函數(shù)遍歷數(shù)組,將每個(gè)值添加到結(jié)果數(shù)組中,同時(shí)使用in_array函數(shù)判斷是否已存在,如果存在則不添加。
$uniqueArray = array_reduce($array, function($carry, $item) {
if (!in_array($item, $carry)) {
$carry[] = $item;
}
return $carry;
}, []);