PHP 함수 응용 프로그램 배열 병합

WBOY
풀어 주다: 2023-06-20 11:28:02
원래의
1727명이 탐색했습니다.

PHP 프로그래밍에서 배열은 매우 일반적으로 사용되는 데이터 유형입니다. PHP는 배열 병합(마지) 기능을 포함하여 배열을 작동하기 위한 다양한 기능을 제공합니다. 배열 병합은 두 개 이상의 배열 요소를 하나의 배열로 결합하는 것을 의미합니다. 이 기사에서는 PHP와 해당 응용 프로그램의 배열 병합 기능을 소개합니다.

  1. array_merge()
    array_merge() 함수는 PHP에서 가장 기본적인 배열 병합 함수로 두 개 이상의 배열 요소를 하나의 배열로 병합합니다.
mixed array_merge ( array $array1 [, array $... ] )
로그인 후 복사

그 중 array1 매개변수는 병합할 첫 번째 배열을 나타내고, 다음 $... 매개변수는 병합할 다른 배열을 나타냅니다. 예:

$arr1 = array('apple', 'banana');
$arr2 = array('cat', 'dog', 'elephant');
$result = array_merge($arr1, $arr2);
print_r($result);
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(
  [0] => apple
  [1] => banana
  [2] => cat
  [3] => dog
  [4] => elephant
)
로그인 후 복사

결과에서 볼 수 있듯이 array_merge() 함수는 두 배열 $arr1 및 $arr2의 요소를 새 배열 $result로 병합합니다. 원본에 따라 일부는 순서대로 배열됩니다.

병합된 배열에 동일한 키가 존재하는 경우 나중 값이 이전 값을 덮어쓰게 된다는 점에 유의해야 합니다. 예:

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'c' => 'cherry');
$result = array_merge($arr1, $arr2);
print_r($result);
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
)
로그인 후 복사

결과에서 볼 수 있듯이 $arr2 배열의 키 이름 'a'는 $arr1 배열의 키 이름 'a'를 덮습니다. 그리고 병합된 키 이름이 없습니다.' b'와 'c'의 값입니다.

  1. array_merge_recursive()
    array_merge() 함수와 마찬가지로 array_merge_recursive() 함수도 배열을 병합하는 데 사용되는 함수입니다. 차이점은 다차원 배열을 처리하고 동일한 키를 가진 값을 단일 배열로 재귀적으로 병합한다는 점입니다. 사용 방법은 다음과 같습니다.
mixed array_merge_recursive ( array $array1 [, array $... ] )
로그인 후 복사

예:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'c' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
    )
  [c] => Array
    (
      [0] => cherry
    )
)
로그인 후 복사

결과에서 알 수 있듯이 키 이름 'a'에 해당하는 값은 배열입니다. . 병합할 때 array_merge_recursive() 함수를 사용하면 배열의 값이 재귀적으로 결합됩니다.

병합된 배열에 동일한 키 이름이 존재하는 경우 해당 값이 하나의 배열로 병합된다는 점에 유의하세요. 예:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'b' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
      [1] => cherry
    )
)
로그인 후 복사

결과에서 알 수 있듯이 키 이름 'a'에 해당하는 값은 배열입니다. 병합 시 array_merge_recursive() 함수는 반복적으로 수행됩니다. 배열의 값을 병합합니다. 키 이름 'b'의 경우 동일한 키 이름이 존재하므로 해당 값이 배열로 병합됩니다.

  1. array_replace()
    array_replace() 함수도 배열을 병합하는 데 사용되는 함수입니다. array_merge() 함수와 달리 한 배열의 값을 다른 배열의 동일한 키 이름으로 덮어씁니다. 사용법은 다음과 같습니다.
mixed array_replace ( array $array1, array $array2 [, array $... ] )
로그인 후 복사

그 중 $array1 매개변수는 대체할 배열을 나타내고, $array2 매개변수는 대체에 사용되는 배열을 나타내며, $...는 대체에 사용되는 다른 배열을 나타냅니다. 예:

$arr1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$arr2 = array('a' => 'orange', 'd' => 'durian');
$result = array_replace($arr1, $arr2);
print_r($result);
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
  [d] => durian
)
로그인 후 복사

결과에서 볼 수 있듯이 array_replace() 함수는 $arr1 배열에서 'apple' 값을 키 이름 'a'로 바꿉니다. $arr2 배열의 키 이름은 'a'에 대한 'orange' 값입니다.

배열을 다른 배열로 교체할 때 배열에 동일한 키 이름을 가진 값이 있으면 나중에 값이 이전 값을 덮어쓰게 된다는 점에 유의해야 합니다. 예:

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'b' => 'cherry');
$result = array_replace($arr1, $arr2);
print_r($result);
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(
  [a] => orange
  [b] => cherry
)
로그인 후 복사

결과에서 볼 수 있듯이 array_replace() 함수는 $arr2 배열에서 'orange' 값을 키 이름 'a'로 바꿉니다. $arr1 배열의 값 'apple'은 키 이름 'b'의 'cherry' 값을 $arr1 배열의 'banana' 값으로 바꿉니다.

요약하자면 배열 병합은 PHP 프로그래밍에서 매우 일반적인 작업입니다. PHP 배열 병합 함수 array_merge(), array_merge_recursive() 및 array_replace()를 통해 배열 병합 및 교체 작업을 실현하여 PHP 프로그래밍을 용이하게 할 수 있습니다.

위 내용은 PHP 함수 응용 프로그램 배열 병합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿