이전 기사에서 php array병합을 달성하는 몇 가지 방법을 소개했습니다. 여러분 모두가 이에 대해 이해하고 계시리라 믿습니다. 이 방법들 사이의 유사점과 차이점은 무엇입니까? 오늘은 PHP 배열 병합의 세 가지 방법의 유사점과 차이점을 계속해서 소개하겠습니다!
1. "+"operator
규칙: 두 배열의 키 이름이 숫자 키 이름이거나 문자열 키 이름이 직접 +, $c = $a + $b일 수 있는 경우 $a 뒤에 키 이름과 값($a에 없는 $b의 키 이름)을 추가합니다.
참고:
은 덮어쓰지 않고 존재하지 않는 키 이름과 해당 값만 추가합니다.
키 이름은 다시 색인화되지 않습니다.
모두 숫자 키 이름이든 혼합이든 키 이름과 값만 추가합니다. 키 이름이 동일하면 추가가 수행되지 않습니다. 즉, 먼저 나타나는 값이 최종으로 반환됩니다. 결과.
1 <?php 2 $fruit_1 = array( 'apple', 'banana' ); 3 $fruit_2 = array( 'orange', 'lemon' ); 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=>'a' ); 3 $b = array( 60=>'u', 66=>'c' ); 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=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); 3 $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); 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 <?php 2 $a = array( 'a' ); 3 $b = array( 'u' ); 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=>'a' ); 3 $b = array( 60=>'u', 66=>'c' ); 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=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); 3 $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); 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( 'a' ); 3 $b = array( 'u' ); 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=>'a' ); 3 $b = array( 60=>'u', 66=>'c' ); 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=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); 3 $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!