2017-02-28 1 views
0

나는 다음과 같은 문제로 골머리를 앓고 있습니다. 나는 2 개의 다른 공급자에게서 2 개의 csv 파일이있다. 두 공급 업체의 주식을 새로운 전체 배열에 추가하고 싶습니다.PHP는 몇 가지 계산을 사용하여 배열 2에 다중 배열을 결합합니다.

Array 
(
    [0] => Array 
     (
      [ARTNUMBER] => 12345 
      [STOCK] => 8 
     )  
    [2] => Array 
     (
      [ARTNUMBER] => 23456 
      [STOCK] => 5 
     ) 
) 

싶습니다 : 여기

새로운 배열과 같아야 2

Array 
(
    [0] => Array 
     (
      [ARTNUMBER] => 12345 
      [STOCK] => 5 
     )  
    [2] => Array 
     (
      [ARTNUMBER] => 23456 
      [STOCK] => 5 
     ) 
) 

어레이의 출력 배열 여기서 1

Array 
(
    [0] => Array 
     (
      [ARTNUMBER] => 12345 
      [STOCK] => 3 
     ) 
) 

출력된다 2 가지 작업 :

  • ARTNUMBER가 두 배열에 모두 있으면 추가하십시오. 배열 2에서 ARTNUMBER가 배열에 존재하지 않는 경우 (배열은 1 ARTNUMBER] + 배열이 [ARTNUMBER]
  • 1. 배열에 추가합니다. 방법

누군가가 나를 도와 주 시겠어요 이렇게?

+1

작동합니다 atch는 두 번째 배열에서 계산과 함께 세 번째 배열에 저장합니다. –

답변

0

(나는이 일을 가장 간단한 방법을 찾고 있어요)이 당신은 foreach 루프에서 모두 배열을 확인하고 모두 키 "ARTNUMBER"m 있는지 확인해야

$array_1[] = array("ARTNUMBER" => 12345, "STOCK" => 5); 
$array_2[] = array("ARTNUMBER" => 12345, "STOCK" => 5); 
$array_2[] = array("ARTNUMBER" => 23456, "STOCK" => 5); 

$data = array(); 
foreach($array_1 as $key => $value) { 
    if(key_exists($value["ARTNUMBER"], $data)) { 
     $data[$value["ARTNUMBER"]] += $value["STOCK"]; 
    } 
    else { 
     $data[$value["ARTNUMBER"]] = $value["STOCK"]; 
    } 
} 
foreach($array_2 as $key => $value) { 
    if(key_exists($value["ARTNUMBER"], $data)) { 
     $data[$value["ARTNUMBER"]] += $value["STOCK"]; 
    } 
    else { 
     $data[$value["ARTNUMBER"]] = $value["STOCK"]; 
    } 
} 

$final = array(); 
foreach($data as $key => $value) { 
    $final[] = array("ARTNUMBER" => $key, "STOCK" => $value); 
} 

echo "<pre>"; 
print_r($final); 
echo "</pre>"; 
+0

안녕 Jabs, 시간 내 주셔서 감사합니다! 매력을 exept처럼 추가 주식을 계산 dint. 이걸 고치는 방법은 없나요? – Meton

+0

예 Meton, if (! key_exists ($ value [ "ARTNUMBER"], $ data)) if (key_exists ($ value [ "ARTNUMBER"], $ data)) '를 제거하십시오! – Javed

+0

감사합니다. 나는 이것을 알아 내려고 많은 시간을 보냅니다 (프로그래머가 아닙니다). Thx a mil! – Meton

관련 문제