2013-05-06 3 views
-2

먼저 합병을 도와 준 Dave Chen에게 감사드립니다.문자열에서 중복을 제거하는 PHP

이제 문제가 발생했습니다. 이 코드를 사용 병합 할 때 : 1 2 3 4 2 3 5;

 
$string1 = " 
;1 
2 
3 
;4 
"; 

$string2 = " 
;1 
;2 
;3 
;4 
;5 
;6 
"; 

echo implode("\r\n",array_unique(array_merge(explode("\r\n",$string1),explode("\r\n",$string2)))); 

출력은 6을하지만 난 해야 1 2 3 4 5 6

+0

';'기호가 있어야합니까? 내 관점에서'; 2! = 2' – Baba

+0

세미콜론은 무엇을 나타 냅니까? –

+0

설명''3 "=="; 3 "' – sectus

답변

0

당신이 시도 할 수 :

echo implode(" ", crazyMerge($string1, $string2)); 

출력

;1 2 3 ;4 ;5 ;6  

푸 사용 된 내용

function crazyMerge($a, $b) { 
    // Some Cleanup 
    $a = array_map("trim", explode("\r\n", $a)); 
    $b = array_map("trim", explode("\r\n", $b)); 

    $ab = array(); 
    foreach($a as $v) { 
     if (! in_array(ltrim($v, ";"), $ab) && ! in_array($v, $ab)) 
      $ab[] = $v; 
    } 
    foreach($b as $k => $v) { 
     if (! in_array(ltrim($v, ";"), $ab) && ! in_array($v, $ab)) 
      $ab[] = $v; 
    } 
    return $ab; 
} 
+0

바바 고마워요. =) – user2348833

관련 문제