2011-08-29 4 views
1

1 값을 제외한 배열에서 중복 값을 제거하고 싶습니다.예외가있는 PHP array_unique

예 : 나는 모든 중복 값을 제거하고 약 400 값

+0

당신은 apple''의 위치 나 발생 간단하게 수를 유지하려면? – powtac

답변

2
$seen = array() 
foreach ($array as $value) 
    if ($value == 'apple' || !in_array($value, $seen)) 
     $seen[] = $value; 

$가있다 "사과"

$array = array ("apple", "orange", "banana", "grapes", "apple"); 

동일 모든 중복 값을 유지할 수 있습니다 방법

$array = array ("apple", "orange", "orange", "banana", "grapes","grapes", "apple"); 

이제는 고유 한 값과 사과 만 표시됩니다.

+0

그리고 사과? 사과는 어때? –

+0

초에 업데이트를 클릭하고 코멘트 바로 앞에 줄을 추가하십시오. ;) – Lars

+0

감사합니다, 치료처럼 일했습니다 – vxd

0
$array = array ("apple", "orange", "orange", "banana", "grapes","grapes", "apple"); 

$counts = array_count_values($array); 

$new_array = array_fill(0, $counts['apple']-2, 'apple'); // -2 to handle there already being an apple from the array_unique count below. 
$new_array = array_merge(array_unique($array), $new_array); 
+0

:) 같은 대답을 가지고 :) – powtac

1
$numbers = array_count_values($array); 
$array = array_unique($array); 
$array = array_merge($array, array_fill(1, $numbers['apple'], 'apple')); 
관련 문제