2014-05-09 2 views
-1

나는 두 개의 배열이 같은 입력이 있습니다PHP의 배열에서 고유 한 값을 얻는 방법은 무엇입니까?

$array1 = [1,2,3,4,6]; 
$array2 = [1,3]; 
$output = array_merge(array_diff($array1,$array2),array_diff($array2,$array1)); 

는 이제 배열 2 배열 1 확인 1을 제거하고 싶은 $array1

3과 내가 기대하고 출력은

$output = [2,4,6]; 
입니다

하지만이 방법에서는 array2에 단일 값이있을 때 몇 가지 버그가 발생합니다. 예 : $array2 = [1];, $array1 = [1,2,3,4,6]; 출력은 $output = [2,3,4,6];이어야합니다. 하지만 $array1을 얻고 모든 값 [1,2,3,4,6];

답변

7

간단한 :

(그냥 취소 복잡하게 코드를 당신이 그 새로운 아무것도 필요하지 않습니다)

<?php 
$array1 = array(1,2,3,4,6); 
$array2 = array(1,3); 
$result = array_diff($array1, $array2); 
print_r($result); 
?> 

Demo

귀하의 스타일에서는 심지어 하나의 라이너가 될 수 있습니다 : P

<?php print_r(array_diff(array(1,2,3,4,6), array(1,3))); ?> 
+0

: D thankyou <3 @ hanky – user3419304

+0

당신을 가장 환영합니다. 편집보기 :) –

관련 문제