2014-11-26 2 views
0

두 개의 어레이가 있습니다. 나는 두 Aray 색인 값이 같은 공통 값을 얻고 싶습니다.두 배열에서 일반적인 배열 값을 얻는 방법은 무엇입니까?

내가

array(
    5=>8 
    7=>0 
) 

을 삼았 할

$arr1 = array(0=>5,1=>7, 2=>9, 3=>4, 4=>2, 5=>8, 6=>7, 7=>0, 8=>1); 


$arr2 = array(0=>7,1=>2, 2=>4, 3=>5, 4=>9, 5=>8, 6=>5, 7=>0, 8=>6); 

내 코드 - 확인 그리고 $arr2이 내가 또한 $arr2

array(
    3=>5 
    6=>5 
) 
에서 중복 값을 얻으려면 중복 값 이름 5입니다

일치하는 값을 얻고 복제하는 방법 위의 두 값 Array?

+0

['array_intersect_assoc' (http://php.net/array_intersect_assoc)? – deceze

답변

1

당신은 array_intersect_assoc()

$arr1 = array(0=>5,1=>7, 2=>9, 3=>4, 4=>2, 5=>8, 6=>7, 7=>0, 8=>1); 
$arr2 = array(0=>7,1=>2, 2=>4, 3=>5, 4=>9, 5=>8, 6=>5, 7=>0, 8=>6); 

$arr = array_intersect_assoc($arr1, $arr2); 

Demo

0

이 코드를 찾고있는 당신은 심지어 중복 확인하고 변수로 배열을 전달하는 함수를 만들 수 있습니다

<?php 

$arr1 = array(0=>5,1=>7, 2=>9, 3=>4, 4=>2, 5=>8, 6=>7, 7=>0, 8=>1); 
$arr2 = array(0=>7,1=>2, 2=>4, 3=>5, 4=>9, 5=>8, 6=>5, 7=>0, 8=>6); 

$arr = array_intersect_assoc($arr1, $arr2); 
print_r($arr); 

$duplicate=array(); $duplicateVirtual=[]; 

foreach($arr2 as $index=>$val) 
{ 
    if(in_array($val,$duplicateVirtual)){ $duplicate[$index]=$val; } 
    $duplicateVirtual[]=$val; 
} 

print_r($duplicate); 

잘 작동합니다.

DEMo

관련 문제