>  기사  >  백엔드 개발  >  PHP 배열 병합의 세 가지 방법 간의 유사점과 차이점 분석

PHP 배열 병합의 세 가지 방법 간의 유사점과 차이점 분석

黄舟
黄舟원래의
2017-11-14 15:21:181872검색

이전 기사에서 php array병합을 달성하는 몇 가지 방법을 소개했습니다. 여러분 모두가 이에 대해 이해하고 계시리라 믿습니다. 이 방법들 사이의 유사점과 차이점은 무엇입니까? 오늘은 PHP 배열 병합의 세 가지 방법의 유사점과 차이점을 계속해서 소개하겠습니다!

1. "+"operator

규칙: 두 배열의 키 이름이 숫자 키 이름이거나 문자열 키 이름이 직접 +, $c = $a + $b일 수 있는 경우 $a 뒤에 키 이름과 값($a에 없는 $b의 키 이름)을 추가합니다.

참고:

  1. 은 덮어쓰지 않고 존재하지 않는 키 이름과 해당 값만 추가합니다.

  2. 키 이름은 다시 색인화되지 않습니다.

  3. 모두 숫자 키 이름이든 혼합이든 키 이름과 값만 추가합니다. 키 이름이 동일하면 추가가 수행되지 않습니다. 즉, 먼저 나타나는 값이 최종으로 반환됩니다. 결과.

1    <?php    
2    $fruit_1 = array( &#39;apple&#39;, &#39;banana&#39; );    
3    $fruit_2 = array( &#39;orange&#39;, &#39;lemon&#39; );    
4    $fruit = $fruit_1 + $fruit_2;    
5    var_dump($fruit);    
6    
7    // output:    
8    // array(2) { [0]=> string(5) "apple" [1]=> string(6) "banana" }    
9    ?>

숫자 키 이름:

1    <?php    
2    $a = array( 66=>&#39;a&#39; );    
3    $b = array( 60=>&#39;u&#39;, 66=>&#39;c&#39; );    
4    $c = $a + $b;    
5    var_dump($c);    
6    
7    // output:    
8    // array(2) { [66]=> string(1) "a" [60]=> string(1) "u" }    
9    ?>

문자 키 이름:

1    <?php    
2    $a = array( 1=>&#39;a&#39;, 2=>&#39;b&#39;, &#39;c&#39;=>&#39;c&#39;, &#39;d&#39;=>&#39;d&#39; );    
3    $b = array( 1=>&#39;u&#39;, 3=>&#39;v&#39;, &#39;c&#39;=>&#39;w&#39;, &#39;d&#39;=>&#39;x&#39;, &#39;y&#39;=>&#39;y&#39;, 60=>&#39;z&#39; );    
4    $c = $a + $b;    
5    var_dump($c);    
6    
7    // output:    
8  // array(7) { [1]=> string(1) "a" [2]=> string(1) "b" ["c"]=> string(1) "c" ["d"]=> string(1) "d" [3]=> string(1) "v" ["y"]=> string(1) "y" [60]=> 
string(1) "z" }    
9    ?>

2, array array_merge ( array array1 [, array array2 [, array ...]] )

규칙: array_merge()는 하나 이상의 배열의 셀을 병합하고, 한 배열의 값이 이전 배열에 추가됩니다. 결과 배열을 반환합니다. 입력 배열의 문자열 키 이름이 동일한 경우 키 이름 뒤의 값이 이전 값을 덮어씁니다. 그러나 배열에 숫자 키가 포함된 경우 후속 값은 원래 값을 덮어쓰지 않고 추가됩니다. 배열만 제공되고 배열이 숫자로 인덱싱된 경우 키는 연속적으로 다시 인덱싱됩니다.

참고:

  1. 값이 병합된 후 키 이름은 연속적으로 다시 색인화됩니다.

  2. 문자열 키 이름, 그러면 키 이름 뒤의 값이 덮어쓰여집니다. 이전 값

1    <?php    
2    $a = array( &#39;a&#39; );    
3    $b = array( &#39;u&#39; );    
4    $c = array_merge($a, $b);    
5    var_dump($c);    
6    
7    // output:    
8    // array(2) { [0]=> string(1) "a" [1]=> string(1) "u" }    
9    ?>

숫자 키 이름:

1    <?php    
2    $a = array( 66=>&#39;a&#39; );    
3    $b = array( 60=>&#39;u&#39;, 66=>&#39;c&#39; );    
4    $c = array_merge($a, $b);    
5    var_dump($c);    
6    
7    // output:    
8    // array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" }    
9    ?>

문자 키 이름:

1    <?php    
2    $a = array( 1=>&#39;a&#39;, 2=>&#39;b&#39;, &#39;c&#39;=>&#39;c&#39;, &#39;d&#39;=>&#39;d&#39; );    
3    $b = array( 1=>&#39;u&#39;, 3=>&#39;v&#39;, &#39;c&#39;=>&#39;w&#39;, &#39;d&#39;=>&#39;x&#39;, &#39;y&#39;=>&#39;y&#39;, 60=>&#39;z&#39; );    
4    $c = array_merge($a, $b);    
5    var_dump($c);    
6    
7    // output:    
8    // array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> string(1) "w" ["d"]=> string(1) "x" [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> 
string(1) "y" [4]=> string(1) "z" }    
9    ?>

3. array array_merge_recursive ( array array1 [, array ...] )

array _merge_recursive() 하나 이상의 배열 병합 셀이 결합되고 한 배열의 값이 이전 배열에 추가됩니다. 결과 배열을 반환합니다.

입력 배열의 문자열 키 이름이 동일한 경우 값이 하나의 배열로 병합되어 재귀적으로 진행되므로 값 자체가 배열인 경우 이 함수는 해당 항목 병합에 따라 배치합니다. 다른 배열로.

그러나 배열의 배열 키 이름이 동일한 경우 후자의 값이 원래 값을 덮어쓰지 않고 추가됩니다.

참고: 동일한 문자 키 이름을 처리할 때 재귀 추가가 사용된다는 점을 제외하면 규칙은 기본적으로 array_merge와 동일합니다.

1    <?php    
2    $a = array( &#39;a&#39; );    
3    $b = array( &#39;u&#39; );    
4    $c = array_merge_recursive($a, $b);    
5    var_dump($c);    
6    
7    // output:    
8    // array(2) { [0]=> string(1) "a" [1]=> string(1) "u" }    
9    ?>

숫자 키 이름:

1    <?php    
2    $a = array( 66=>&#39;a&#39; );    
3    $b = array( 60=>&#39;u&#39;, 66=>&#39;c&#39; );    
4    $c = array_merge_recursive($a, $b);    
5    var_dump($c);    
6    
7    // output:    
8    // array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" }    
9    ?>

문자 키 이름:

1    <?php    
2    $a = array( 1=>&#39;a&#39;, 2=>&#39;b&#39;, &#39;c&#39;=>&#39;c&#39;, &#39;d&#39;=>&#39;d&#39; );    
3    $b = array( 1=>&#39;u&#39;, 3=>&#39;v&#39;, &#39;c&#39;=>&#39;w&#39;, &#39;d&#39;=>&#39;x&#39;, &#39;y&#39;=>&#39;y&#39;, 60=>&#39;z&#39; );    
4    $c = array_merge_recursive($a, $b);    
5    var_dump($c);    
6    
7    // output:    
8    // array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> array(2) { [0]=> string(1) "c" [1]=> string(1) "w" } ["d"]=> array(2) { [0]=> 
string(1) "d" [1]=> string(1) "x" } [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" }    
9    ?>

요약:

이 글에서는 PHP 배열 병합의 세 가지 방법의 유사점과 차이점을 예제를 통해 자세히 소개합니다. 단점, 친구 각자의 필요에 따라 적절한 방법을 선택할 수 있습니다!

관련 추천:

PHP 배열 병합 및 중복 제거의 예


PHP 배열 병합의 여러 방법 소개


php 배열 병합 주의 사항 array_merge( ) 기능

위 내용은 PHP 배열 병합의 세 가지 방법 간의 유사점과 차이점 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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