>  기사  >  백엔드 개발  >  PHP에 다른 배열 추가

PHP에 다른 배열 추가

WBOY
WBOY원래의
2023-05-24 18:06:09408검색

PHP에서 배열은 여러 값(요소)을 저장할 수 있는 매우 유연하고 일반적으로 사용되는 데이터 유형이며 이러한 값은 모든 데이터 유형이 될 수 있습니다. 다양한 배열을 추가해야 하는 경우 다양한 추가 방법과 해당 예방 조치를 이해해야 합니다.

  1. array_merge() 함수를 사용하여 배열 병합

array_merge() 함수는 두 개 이상의 배열을 새 배열로 병합할 수 있습니다. 이 함수는 입력 배열의 모든 요소를 ​​새 배열에 넣고 인덱스를 재설정합니다. 0부터 시작하면 원래 배열의 키 이름을 유지할 수 있으며 동일한 키 이름의 값을 덮어쓰지 않습니다. 예는 다음과 같습니다.

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array_merge($array1, $array2);
print_r($array3);

출력은 다음과 같습니다.

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)

동일한 키 이름을 가진 값이 배열인 경우 array_merge() 함수는 이를 재귀적으로 병합합니다. 즉, 병합합니다. 하위 배열을 함께 사용합니다. 키 이름이 숫자인 경우 병합된 결과는 자동으로 숫자 인덱스 배열로 변환됩니다.

  1. + 연산자를 사용하여 배열 병합

PHP에서는 + 연산자를 사용하여 두 배열을 새 배열로 병합할 수 있지만 array_merge() 함수와 달리 + 연산자는 왼쪽 배열만 유지합니다. 오른쪽 배열의 키 이름과 값은 무시됩니다. 예는 다음과 같습니다.

$array1 = array('a', 'b', 'c');
$array2 = array('d' => 1, 'e', 'f');
$array3 = $array1 + $array2;
print_r($array3);

출력은 다음과 같습니다.

Array
(
    [0] => a
    [1] => b
    [2] => c
    [d] => 1
    [1] => e
    [2] => f
)

배열의 키 이름이 문자열인 경우 + 연산자는 이를 연관 배열로 처리합니다. 왼쪽 배열에 숫자 및 문자열 인덱스 키가 모두 포함되어 있으면 오른쪽 배열의 문자열 인덱스 키가 무시됩니다.

  1. array_merge_recursive() 함수를 사용하여 배열 병합(재귀적 병합)

같은 키 이름의 값이 배열인 경우 array_merge() 함수를 사용하여 병합하면 해당 키의 값만 덮어쓰게 됩니다. 이전 배열에 이름을 지정하지만 하위 배열을 재귀적으로 병합하지는 않습니다. 동일한 키 이름을 가진 하위 배열을 반복적으로 병합해야 하는 경우 array_merge_recursive() 함수를 사용할 수 있습니다. 예는 다음과 같습니다.

$array1 = array('a' => array('b'), 'c');
$array2 = array('a' => array('d'), 'e');
$array3 = array_merge_recursive($array1, $array2);
print_r($array3);

출력은 다음과 같습니다.

Array
(
    [a] => Array
        (
            [0] => b
            [1] => d
        )

    [0] => c
    [1] => e
)

array_merge_recursive() 함수는 하위 배열을 함께 병합하고 동일한 키 이름을 가진 값을 하나의 배열로 병합합니다.

  1. array_replace() 함수를 사용하여 배열 병합(대체 병합)

array_replace() 함수는 두 개 이상의 배열을 새로운 배열로 병합할 수 있지만 array_merge() 함수와는 달리 키 이름이 같은 값은 배열로 병합되지 않고 후속 값으로 대체됩니다. 다음은 예입니다.

$array1 = array('a', 'b', 'c');
$array2 = array('b', 'd');
$array3 = array_replace($array1, $array2);
print_r($array3);

출력 결과는 다음과 같습니다.

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

array_replace() 함수는 한 배열에 존재하는 키 이름이 존재하지 않는 경우에만 키 이름이 있는 값을 대체한다는 점에 유의해야 합니다. 다른 배열에서는 해당 값이 변경되지 않습니다.

요약하자면, PHP는 배열 병합을 위한 다양한 방법을 제공하며 실제 필요에 따라 어떤 방법을 사용할지 선택할 수 있습니다. 원래 배열 키 이름을 유지해야 하는 경우 array_merge() 함수를 사용할 수 있습니다. 하위 배열을 반복적으로 병합해야 하는 경우 값을 동일한 키 이름으로 바꿔야 하는 경우 array_merge_recursive() 함수를 사용할 수 있습니다. 이를 배열로 병합하는 대신 array_replace() 함수를 사용할 수 있습니다.

위 내용은 PHP에 다른 배열 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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