> 백엔드 개발 > PHP 문제 > PHP에서 배열을 연결하기 위해 + 기호를 사용한 결과는 무엇입니까?

PHP에서 배열을 연결하기 위해 + 기호를 사용한 결과는 무엇입니까?

醉折花枝作酒筹
풀어 주다: 2023-03-10 15:04:01
앞으로
2486명이 탐색했습니다.

이 글에서는 PHP에서 + 기호를 사용하여 배열을 연결하는 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP에서 배열을 연결하기 위해 + 기호를 사용한 결과는 무엇입니까?

PHP에서 배열을 연결하기 위해 + 기호를 사용한 결과는 무엇입니까?

개발할 때 가끔 두 개의 어레이를 병합하고 연결하는 경우가 있는데, 이때 게으르지 말고 + 기호를 직접 사용해야 합니다. 다음 코드를 살펴보겠습니다.

$a = [1, 2];
$b = [4, 5, 6];

$c = $a + $b;
print_r($c);
로그인 후 복사

첫 번째 코드를 사용하여 결과가 무엇인지 직접 알려주시겠습니까? 내가 이것을 물으면 결과는 다음과 같습니다.

Array
(
    [0] => 1
    [1] => 2
    [2] => 6
)
로그인 후 복사

보시다시피, + 연산자를 사용하여 연결된 배열의 결과는 합집합입니다. 즉, 키에 따라 동일한 키를 덮어쓰지 않으며 새 배열을 형성하기 위해 키가 추가되지 않습니다. 실제로 두 배열을 추가하는 것은 아닙니다.

$b+$a를 사용하면 어떻게 되나요? 그러면 결과는 $b의 내용입니다.

$c = $b + $a;
print_r($c);

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)
로그인 후 복사

그럼 1,2,4,5,6과 같은 배열을 얻으려면 어떻게 해야 할까요? 그렇죠, array_merge() 함수 사용시 배열 Key의 위치에 주의해주세요:

$c = array_merge($a, $b);
print_r($c);

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 5
    [4] => 6
)

$c = array_merge($b, $a);
print_r($c);

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 1
    [4] => 2
)
로그인 후 복사

key/value 형태의 Hash 배열이라면 어떨까요? 결과는 동일하며 $a의 키는 병합되지 않으며 동일한 키는 처리되지 않습니다.

$a = ['a' => 1, 'b' => 2];
$b = ['a' => 4, 'b' => 5, 'c' => 6];

print_r($a+$b);

Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)

$c = array_merge($a, $b);
print_r($c);

$c = array_merge($b, $a);
print_r($c);

Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)
Array
(
    [a] => 4
    [b] => 5
    [c] => 6
)
Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)
로그인 후 복사

위 해시 배열의 경우 array_merge() 함수를 사용한 결과는 + 기호를 사용한 결과와 동일합니다. 이는 여전히 키를 비교하기 때문입니다. 따라서 병합된 배열은 내용을 추가하지 않습니다. 아래 첨자가 정의되지 않은 경우 숫자 아래 첨자와 함께 직접 추가됩니다.

마지막으로 연산자 연결을 다시 시도해 보겠습니다.

$c = $a . $b;
print_r($c);

ArrayArray
로그인 후 복사

글쎄, 문자열을 문자열 유형으로 변환한 다음 서로 연결하는 데 특별한 의미는 없습니다.

테스트 코드:

https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/PHP%E4%B8%AD%E7%94%A8%2B%E5%8F%B7%E8%BF%9E%E6%8E%A5%E6%95%B0%E7%BB%84%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%EF%BC%9F.php
로그인 후 복사

추천 학습: php 비디오 튜토리얼

위 내용은 PHP에서 배열을 연결하기 위해 + 기호를 사용한 결과는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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