
У меня возникла потребность удалить в массиве повторяющиеся элементы(дубликаты).
Для примера рассмотрим такой массив:
1 |
$massiv = array ("green", "red", "black", "green", "white", "black"); |
В интернете люди ищут готовый код и зачастую используют так называемый изобретенный велосипед.
В самом языке PHP есть функция array_count_values, которая возвращает массив, ключами которого являются значения массива, а значениями — частота повторения этих значений.
Простыми словами, мы получим массив, где вместо ключей будут значения. Для нашего примера это будет так:
1 2 3 4 |
[green]=>2 [red]=>1 [black]=>2 [white]=>1 |
После этого остается только перебрать ключи массива вместо значений.
Далее приведу общий код.
1 2 3 4 5 6 7 8 9 |
$massiv = array ("green", "red", "black", "green", "white", "black"); $array = (array_count_values ($massiv)); //Далее идет перебор ключей массива и их распечатка while (current($array)) { $value = key($array); next($array); print "$value<br>"; } |
Получите — распишитесь!
Авторская статья сайта hasoid.ru
нахрена если есть array_unique