>  기사  >  백엔드 개발  >  중복 데이터를 제거하지 않고 PHP에서 배열을 병합하는 방법

중복 데이터를 제거하지 않고 PHP에서 배열을 병합하는 방법

zbt
zbt원래의
2023-07-13 16:55:021278검색

PHP가 중복 데이터를 제거하지 않고 배열을 병합하는 방법은 다음과 같습니다: array_merge_recursive 함수를 사용하면 중복 데이터를 제거하지 않고 배열을 병합할 수 있지만 중복 데이터를 하위 배열로 병합하면 모든 데이터가 유지되고 더 이상 유지되지 않습니다. 데이터가 중복되었습니다.

중복 데이터를 제거하지 않고 PHP에서 배열을 병합하는 방법

이 튜토리얼의 운영 환경: windows10 시스템, php8.1.3 버전, DELL G3 컴퓨터.

PHP에서는 array_merge 함수를 사용하여 두 배열을 병합할 수 있습니다. array_merge 함수의 기능은 하나 이상의 배열을 새 배열로 병합하는 것입니다. 그러나 array_merge 함수는 중복 데이터를 제거합니다. 중복 데이터를 제거하지 않고 배열을 병합하려면 array_merge_recursive 함수를 사용할 수 있습니다.

array_merge_recursive 함수는 array_merge 함수와 유사한 기능을 가지고 있지만 중복된 데이터를 제거하지는 않습니다. 동일한 키 이름이 배열에 존재하는 경우 array_merge_recursive 함수는 동일한 키 이름을 가진 데이터를 하위 배열로 병합합니다.

구문: ​​

array_merge_recursive ( array $array1 [, array $... ] ) : array

매개변수 설명:

-$array1:要合并的第一个数组,必需。
-$...:要合并的其他数组,可选。

반환 값:

병합된 배열.

다음은 array_merge_recursive 함수의 사용법을 보여주는 예입니다.

$array1=array('a'=>'apple','b'=>'banana');
$array2=array('a'=>'orange','c'=>'cherry');
$array3=array('d'=>'durian');
$result=array_merge_recursive($array1,$array2,$array3);
print_r($result);
输出结果:
Array
(
[a]=>Array
(
[0]=>apple
[1]=>orange
)
[b]=>banana
[c]=>cherry
[d]=>durian
)

$array1 배열과 $array2 배열의 'a' 키가 반복되는 것을 볼 수 있는데, array_merge_recursive 함수를 통해 병합한 후에는 반복되는 키가 하위 배열로 병합됩니다.

배열 병합 시 동일한 키 이름에 비배열과 배열이 포함된 경우 array_merge_recursive 함수는 비배열 값을 배열로 변환한다는 점에 유의하세요.

예:

$array1=array('a'=>'apple','b'=>'banana');
$array2=array('a'=>array('orange','cherry'));
$result=array_merge_recursive($array1,$array2);
print_r($result);
输出结果:
Array
(
[a]=>Array
(
[0]=>apple
[1]=>Array
(
[0]=>orange
[1]=>cherry
)
)
[b]=>banana
)

위의 예에서 $array2 배열의 키 'a'는 배열이고 $array1 배열의 키 'a'는 문자열입니다. array_merge_recursive 함수를 통해 병합한 후 $array1 배열의 'a' 키가 배열로 변환됩니다.

요약하자면, array_merge_recursive 함수를 사용하면 배열 병합 시 중복 데이터를 제거할 수 없지만, 중복 데이터를 하위 배열로 병합합니다. 이렇게 하면 모든 데이터가 유지되고 중복 데이터가 손실되지 않습니다. .

위 내용은 중복 데이터를 제거하지 않고 PHP에서 배열을 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.