공유 키의 합산 값과 연관 배열 병합
공유 키의 값을 결합하면서 여러 연관 배열을 병합하는 것은 일반적이면서도 어려운 작업일 수 있습니다 . 이 기사에서는 이 문제를 해결하기 위한 몇 가지 솔루션을 제시합니다.
합산을 통한 배열 병합
목표는 두 개 이상의 단순 연관 배열(문자열 키가 있고 비 문자열 키가 있는 배열)을 병합하는 것입니다. -값 배열) 동일한 키와 연관된 값을 합산합니다. 이는 중복 키의 값을 바꾸는 array_merge() 함수의 기본 동작과 다릅니다.
예
다음 예를 고려하세요.
<code class="php">$a1 = array("a" => 2, "b" => 0, "c" => 5); $a2 = array("a" => 3, "b" => 9, "c" => 7, "d" => 10);</code>
array_merge()를 사용하여 이러한 배열을 결합하면 결과는 다음과 같습니다.
<code class="php">$a3 = array_merge($a1, $a2); print_r($a3); </code>
출력:
Array ( [a] => 3 [b] => 9 [c] => 7 [d] => 10 )
보시다시피 공유 키의 값( "a", "b", "c")는 합산되지 않고 대체됩니다.
맞춤 솔루션
원하는 결과를 얻기 위해 맞춤 기능을 활용할 수 있습니다. 결합된 배열의 키를 반복하고 공유 키의 값을 합산합니다. 다음은 그러한 구현 중 하나입니다.
<code class="php">$sums = array(); foreach (array_keys($a1 + $a2) as $key) { $sums[$key] = (isset($a1[$key]) ? $a1[$key] : 0) + (isset($a2[$key]) ? $a2[$key] : 0); }</code>
출력:
<code class="php">Array ( [a] => 5 [b] => 9 [c] => 12 [d] => 10 )</code>
이 함수를 사용하면 여러 배열을 공유 키와 병합하고 해당 키에 대한 합계 값을 제공할 수 있습니다.
위 내용은 공유 키의 합산된 값과 연관 배열을 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!