2012-07-30 1 views
0

나는 국가 이름과 해당 해석 메트릭을 포함하는 두 개의 배열 배열을 가지고 있습니다. 첫 번째 하위 배열 값 (즉, 국가)을 기준으로 이들을 뺄셈하여 두 번째가 아닌 첫 번째 배열의 국가 배열을 반환해야합니다. 예 입출력 :배열의 2 배열에 대한 PHP array_dif()

첫 번째 배열 :

Array 
(
    [0] => Array 
     (
      [0] => Afghanistan 
      [1] => 1 
     ) 

    [1] => Array 
     (
      [0] => Albania 
      [1] => 1 
     ) 
) 

2 어레이 :

Array 
(
    [0] => Array // not found in 1st array by country name 
     (
      [0] => Australia 
      [1] => 2 
     ) 

    [1] => Array 
     (
      [0] => Albania 
      [1] => 2 
     ) 
) 

의도 출력

Array 
(
    [0] => Array 
     (
      [0] => Australia 
      [1] => 2 
     ) 
) 

array_dif();은 많은 차이가 있지만 내 데이터 세트에는 차이가 없습니다. PHP에서이 뺄셈 된 배열을 만드는 방법은 무엇입니까?

답변

0

$array1=array('0'=>Array('0' => 'Afghanistan','1' => '1'), 
     '1'=>Array('0' => 'Albania','1' => '1') ); 
$array2 = Array('0' => Array ('0' => 'Australia','1' => '2'), 
    '1' => Array('0' => 'Albania','1' => '2')); 
$finalArray = diffArray($array1,$array2); //returns your expected result 


function diffArray($array1,$array2){  
    $newarray = array(); 
    foreach ($array2 as $tmp){ 
     $duplicate = false; 
     foreach($array1 as $tmp1){ 
      if ($tmp[0] == $tmp1[0]){ 
       $duplicate=true; 
      } 
     } 
     if(!$duplicate) 
     $newarray[] = $tmp; 
    } 
    return $newarray; 
} 
+0

가 치료를 근무 시도 - 감사합니다! –