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

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

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-06-11 18:04:202389검색

이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제