>  기사  >  백엔드 개발  >  PHP에서 두 배열을 병합하는 방법

PHP에서 두 배열을 병합하는 방법

zbt
zbt원래의
2023-06-12 11:07:452244검색

php+두 배열을 병합하는 방법: 1. "+" 연산자를 사용하여 두 배열을 하나의 배열로 직접 병합합니다. 2. "array_merge()" 함수를 사용하여 하나 이상의 배열을 하나의 배열로 병합합니다. 하나 이상의 배열을 하나의 배열로 병합하려면 "array_merge_recursive()" 함수를 사용하십시오. 4. 두 배열을 병합하여 새 배열을 만들려면 "array_combine()" 함수를 사용하십시오.

PHP에서 두 배열을 병합하는 방법

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

저는 일상적인 PHP 개발에서 배열을 병합해야 하는 시나리오를 자주 접하게 될 것이라고 믿습니다. 그렇다면 PHP에서 배열을 병합하는 데 어떤 방법을 사용할 수 있습니까?

첫 번째 방법은 "+" 연산자를 사용하는 것입니다

더하기 기호 "+" 연산자를 사용하면 두 배열을 하나의 배열로 직접 병합할 수 있습니다.

샘플 코드:

<?php
$a = [1,2,3,&#39;a&#39;=>'a'];
$b = ['a'=>'aa','b'=>'bb',4,5,6,7,'c'=>'cc',8];
$c = $a + $b;
var_dump($a);
var_dump($b);
var_dump($c);

출력 결과:

// $a
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(2) "a"
}

// $b
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}

// $c
array(8) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(2) "a"
  ["b"]=>
  string(2) "bb"
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}

참고: 두 배열 요소의 키가 동일하면 이전 요소가 이후 요소를 덮어씁니다.

두 번째, array_merge() 함수를 사용하세요.

사용법: array_merge(array1,array2,array3...)

array_merge() 함수는 하나 이상의 배열을 하나의 배열로 병합하는 데 사용됩니다.

두 개 이상의 배열 요소가 동일한 키 이름을 갖는 경우 마지막 요소가 다른 요소를 덮어씁니다.

샘플 코드:

<?php
$a = [1,2,3,&#39;a&#39;=>'a'];
$b = ['a'=>'aa','b'=>'bb',4,5,6,7,'c'=>'cc',8];
$c = array_merge($a,$b);
$d = [];
$e = array_merge($a,$d);
$f = array_merge($d,$b);
$g = array_merge([],[]);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($e);
var_dump($f);
var_dump($g);

출력 결과:

// $a
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(1) "a"
}
// $b
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}
// $c
array(11) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [7]=>
  int(8)
}
// $e
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(1) "a"
}
// $f
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}
// $g
array(0) {
}

참고: 두 배열의 요소 키가 동일하면 이후 요소가 이전 요소를 덮어씁니다. 그러나 배열의 인덱스가 숫자 인덱스이거나 숫자 문자열 인덱스인 경우 병합된 배열의 숫자 인덱스는 순서대로 재설정되고 첫 번째 배열의 첫 번째 숫자 인덱스 요소는 0부터 순서대로 채워집니다.

세 번째 방법은 array_merge_recursive() 함수를 사용하는 것입니다.

사용법: array_merge_recursive(array1, array2, array3...)

array_merge_recursive() 함수는 하나 이상의 배열을 하나의 배열로 병합하는 데 사용됩니다.

샘플 코드:

<?php
$a = [1,2,3,&#39;a&#39;=>'a'];
$b = ['a'=>'aa','b'=>'bb',4,5,6,7,'c'=>'cc',8];
$c = array_merge_recursive($a,$b);
var_dump($a);
var_dump($b);
var_dump($c);

출력 결과:

// $a
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  string(1) "a"
}
// $b
array(8) {
  ["a"]=>
  string(2) "aa"
  ["b"]=>
  string(2) "bb"
  [0]=>
  int(4)
  [1]=>
  int(5)
  [2]=>
  int(6)
  [3]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [4]=>
  int(8)
}
// $c
array(11) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  ["a"]=>
  array(2) {
    [0]=>
    string(1) "a"
    [1]=>
    string(2) "aa"
  }
  ["b"]=>
  string(2) "bb"
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
  [6]=>
  int(7)
  ["c"]=>
  string(2) "cc"
  [7]=>
  int(8)
}

참고: 두 개 이상의 배열 요소에 동일한 키가 있는 경우 array_merge_recursive()는 키 이름을 덮어쓰지 않지만 여러 개의 동일한 키 이름이 반복적으로 배열을 형성합니다. 배열의 인덱스가 숫자 인덱스이거나 숫자 문자열 인덱스인 경우 병합된 배열의 숫자 인덱스는 첫 번째 배열의 첫 번째 숫자 인덱스 요소부터 시작하여 0부터 순서대로 채워지는 순서대로 재설정됩니다.

네 번째 방법은 array_combine() 함수

Usage: array_combine(keys, value)

array_combine() 함수를 사용하여 두 개의 배열을 병합하여 새 배열을 만드는 것입니다. 여기서 하나의 배열 요소는 키 이름입니다. 다른 배열의 요소는 키 값입니다.

샘플 코드:

<?php
$a = [1,2,3];
$b = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;];
$c = array_combine($a,$b);
$d = array_combine($b,$a);
var_dump($c);
var_dump($d);

출력 결과:

// $c
array(3) {
  [1]=>
  string(1) "a"
  [2]=>
  string(1) "b"
  [3]=>
  string(1) "c"
}
// $d
array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}

참고: 키 이름 배열과 키 값 배열의 요소 수가 동일해야 합니다!

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

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