2014-08-20 6 views
-1

다음과 같은 다차원 배열이 있습니다.다차원 배열의 요소 비교 및 ​​업데이트

$test = Array 
     (
      [0] => Array 
       (
        [0] => 38 
        [1] => 3 
        [2] => 7 
        [3] => 2 
        [4] => 232 
        [5] => 1 
        [6] => 58 
       ) 


      [1] => Array 
       (
        [0] => 8 
        [1] => 13 
        [2] => 7 
        [3] => 2 
        [4] => 232 
        [5] => 11 
        [6] => 58 
       ) 


     ) 

하고 그래서이 다차원 어레이의 모든 내부 배열 키 요소와 비교한다

$new = Array 
      (
       [0] => 38 
       [1] => 3 
       [2] => 7 
       [3] => 2 
       [4] => 232 
       [5] => 1 
       [6] => 58 
      ) 

같은 배열 요소를 푸시 할 그리고 $ 같은 내부 어레이 중 하나와 일치하는지 test [n] [0] = $ new [0], $ test [n] [1] = $ new [1], $ test [n] [2] = $ new [ 3] = $ 새로운 [3], $ 시험 [N] [4] = $ 새로운 [4] 결과는 다음과 같이 될 것이다.

Array 
    (
     [0] => Array 
      (
       [0] => 38 
       [1] => 3 
       [2] => 7 
       [3] => 2 
       [4] => 232 
       [5] => 2  ====> $test[0][5] + $new[5] //updating 1+1 = 2 
       [6] => 58 
      ) 


     [1] => Array 
      (
       [0] => 8 
       [1] => 13 
       [2] => 7 
       [3] => 2 
       [4] => 232 
       [5] => 11 
       [6] => 58 
      ) 


    ) 
(때문에 [0]과 일치하는 우리의 경우 $ 시험에서)

이고 테스트 배열에 'n'배열이 있습니다.

감사합니다. 어떤 도움을 주셔서 감사합니다.

답변

0
foreach($test as $key=>$val){ 
    if($val[0] == $new[0] && $val[1] == $new[1] && $val[2] == $new[2] && $val[3] == $new[3] && $val[4] == $new[4]){ 
     $val[5] = $val[5] + $new[5]; 
    }else{ 
     array_push($test, $new); 
    } 
} 
print_r($test);