PHP 프로그래밍에서 배열 작업은 매우 일반적인 작업입니다. 우리는 일반적으로 배열 병합, 배열의 요소를 교체하거나 여러 배열의 요소를 병합해야합니다. 현재 array_replace () 함수는 매우 유용한 도구입니다. 배열의 값을 대체 할뿐만 아니라 여러 숫자를 결합합니다.
이 기사는 Array_Replace () 함수의 사용법을 자세히 소개하여 PHP의 여러 배열을 병합하는 방법을 더 잘 이해할 수 있도록 도와줍니다.
Array_Replace () 는 하나 이상의 배열에서 첫 번째 배열로 요소를 결합한 PHP 내장 기능입니다. 배열에 동일한 키가 존재하면 후속 배열의 값은 첫 번째 배열에서 동일한 키의 값을 대체합니다. 다시 말해, 이전 어레이의 요소를 후속 배열의 요소로 순서대로 대체합니다.
<span><span><span class="hljs-title function_ invoke__">array_replace</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> ...</span><span><span class="hljs-variable">$arrays</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
$ array1 : 대상 배열로서 첫 번째 배열은 다른 배열의 요소로 대체됩니다.
$ 배열 : 값이 $ array1 의 해당 키 값을 대체하는 하나 이상의 배열.
두 개의 배열이 있고 두 번째 배열의 값을 첫 번째 배열로 병합하려고한다고 가정합니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>];
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_replace</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
출력 결과 :
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[a] => </span><span><span class="hljs-number">1</span></span><span>
[b] => </span><span><span class="hljs-number">3</span></span><span>
[c] => </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>
이 예에서 Array_Rayplace ()는 $ array2 의 값을 $ array1 의 동일한 키 (즉, 'b' )의 값으로 대체하는 동시에 결과 배열에 $ array2 에 새 키 값 쌍 ( 'c'=> 4 )을 추가합니다.
Array_Replace ()는 여러 배열로 전달되는 것을 지원하며 여러 배열에서 요소를 병합하는 데 사용할 수 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-variable">$array3</span></span><span> = [</span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">"d"</span></span><span> => </span><span><span class="hljs-number">5</span></span><span>];
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_replace</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-variable">$array3</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
출력 결과 :
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[a] => </span><span><span class="hljs-number">1</span></span><span>
[b] => </span><span><span class="hljs-number">3</span></span><span>
[c] => </span><span><span class="hljs-number">4</span></span><span>
[d] => </span><span><span class="hljs-number">5</span></span><span>
)
</span></span>
이 예에서 $ array2 의 값은 $ array1 의 해당 키 ( 'b' )를 대체하고 $ array3 의 키 값 쌍은 결과 배열에 직접 추가됩니다.
Array_Replace ()를 사용하여 여러 배열을 병합 할 수 있지만 Array_Merge () 함수와 다소 다릅니다.
Array_Replace () : 키에 따라 원래 배열의 값을 대체합니다. 즉, 동일한 키가있는 경우 후속 배열은 이전 어레이에서 해당 키를 덮어 씁니다.
Array_Merge () : 키가 동일한지 여부에 관계없이 배열을 결합합니다. 인덱싱 된 배열의 경우, 그것은 다시 무인다; 연관 배열의 경우 원래 키를 유지합니다.
예를 들어:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">"b"</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">"c"</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>];
</span><span><span class="hljs-variable">$result_merge</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_merge</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result_merge</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
출력 결과 :
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-number">2</span></span><span>
[b] => </span><span><span class="hljs-number">3</span></span><span>
[c] => </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>
Array_Merge ()를 사용하면 배열의 인덱스가 재정렬되고 Array_Replace () 에서 인덱스와 키는 변경되지 않았습니다.
Array_Replace ()는 원래 배열에 존재하는 키만 대체합니다. 불일치 키의 경우 후속 배열이 결과에 직접 추가됩니다.
배열에 숫자 키가 있으면 array_replace () 가 키에 따라 교체되므로 숫자 키의 순서가 변경 될 수 있습니다. array_merge () 는 숫자 키를 다시 표시합니다.
Array_Replace ()는 배열에서 기존 요소를 교체하거나 여러 배열의 요소를 배열로 병합하는 데 적합한 매우 강력한 기능입니다. PHP에서 배열을 조작 할 때는 Array_Replace () 의 사용을 마스터하면 코드가 더 간결하고 효율적으로 만들 수 있습니다.
여러 숫자 조합을 처리 할 때 키 값 교체 및 추가에주의를 기울여야하는 경우 Array_Replace () 는 확실히 필수 도구 중 하나입니다.