2009-03-21 8 views
0

PHP에 배열이 있는데 중복을 제거하고 싶습니다.PHP 함수 array_unique가 작동하지 않습니다.

새로운 배열을 만들고 중복을 제거하기 위해 단순히 array_unique() 함수를 사용했습니다.

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

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

여전히 중복을 보여줍니다

여기에 코드입니다! 무엇이 잘못되었는지에 대한 제안?

+0

더 많은 컨텍스트가 필요합니다. 특히 $ linkphoto의 구조 –

+0

예제가 있습니까? – Gumbo

+0

은 표시된 페이지에서 새 배열을 작성하여 문제를 해결했습니다. 현재의 배열은 약간의 치료법 인 것 같습니다 !! –

답변

2

documentation에 따르면, 평등을위한 조건은 다음과 같습니다

참고 : 두 요소가있는 경우 동일한 것으로 간주하고 만 볼수있는 때는 (string) $ elem1 === (문자열) $ elem2. 단어 : 문자열 표현이 같은 경우. 첫 번째 요소가 사용됩니다.

어떤 종류의 데이터를 사용하고 있습니까? 두 항목이 문자열이 같지 않으면 둘 다 배열에 남아 있습니다.

+0

[1] = 문자열 배열 [2] = 문자열 normaly이 포함되어야 –

1

array_unique이 적용되기 전에 내용이 $linkphoto 인 것과 같이 더 많은 컨텍스트가 필요합니다. 예를 들면 다음과 같습니다.

<?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_는 문자열 표현이 동일 할 경우에만 중복을 제거합니다.

+0

을 발견하면 내가 중복을 삭제하려면 위의 배열과 같은 요소이지만 현재 배열처럼 작동하지 않습니다. 어쨌든 새 배열을 만들고 $ linkphoto로 채워서 해결책을 찾았습니다. –

관련 문제