Функция PHP array_unique не работает - PullRequest
0 голосов
/ 21 марта 2009

У меня есть массив в PHP, и я хочу удалить дубликаты.

Я просто обратился к функции array_unique(), чтобы создать новый массив и удалить дубликаты.

Вот код:

$unlink = array();
$unlink = array_unique($linkphoto);

foreach ($unlink as $link) {
    echo $link, "<br />";
}

Тем не менее он показывает дубликаты! Любые предложения о том, что не так?

Ответы [ 2 ]

2 голосов
/ 21 марта 2009

Согласно документации условие равенства следующее:

Примечание: Два элемента считаются равными тогда и только тогда, когда (строка) $ elem1 === (строка) $ elem2. На словах: когда строковое представление одинаково. Первый элемент будет использован.

Какие данные вы используете? Если два элемента не равны строкам, они оба останутся в массиве.

1 голос
/ 21 марта 2009

Нам нужно больше контекста, чтобы иметь возможность вам помочь, например, каково содержимое $linkphoto до того, как к нему применяется array_unique. Например:

<?php
$array = Array('A','B','C','D','B');
print_r($array); // Array ( [0] => A [1] => B [2] => C [3] => D [4] => B )
$result = array_unique($array);
print_r($result); // Array ( [0] => A [1] => B [2] => C [3] => D ) 
?>

Как уже упоминалось, @nobody_ удалит дубликаты, только если их строковые представления одинаковы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...