>백엔드 개발 >PHP 튜토리얼 >PHP에서 배열 병합을 구현하는 여러 가지 방법 소개

PHP에서 배열 병합을 구현하는 여러 가지 방법 소개

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

배열 병합을 하면 우리는 무의식적으로 array_merge() 함수를 떠올리겠지만, 우리 작업에서는 array_merge() 함수만으로는 전혀 부족합니다. 그렇다면 배열 병합을 수행할 수 있는 다른 방법은 무엇일까요? 오늘은 php 배열을 병합하는 방법을 자세히 보여드리겠습니다!

예를 통해 소개하겠습니다.

$a = array('color'=>'red',5,6); 
$b = array('color'=>'blue','type'=>'fruit',6,7); 
$arr = array_merge($a,$b); 
var_dump($arr);

array (size=6)  'color' => string 'blue' (length=4)  0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)  2 => int 6
  3 => int 7

요구 사항은 array_merge()를 사용하지 않고 동일한 효과를 얻는 것입니다.
(array_merge()는 배열을 병합하고 ​​​​배열을 병합합니다. 이전 배열의 연관 배열 동일한 Coverage를 인덱스 형태로 키 값 순서대로 병합합니다)

1. 먼저 array_merge_recursive() 함수를 사용하여 병합합니다.

$a = array('color'=>'red',5,6);
$b = array('color'=>'blue','type'=>'fruit',6,7);
$arr = array_merge_recursive($a,$b);
var_dump($arr);

输出结果:array (size=6)  
'color' => 
    array (size=2)      
    0 => string 'red' (length=3)      
    1 => string 'blue' (length=4)  
    0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)  
  2 => int 6
  3 => int 7

볼 수 있습니다. array_merge_recursive() 함수가 키 값을 동일하게 만들 것이라는 결과에서 값이 새로운 연관 배열 형태로 반환되며, 이 키 값은 2차원 배열의 키 값으로 사용됩니다. . 다른 색인 형식은 영향을 받지 않습니다.
array_merge()와 비교하여, 후속 배열 키가 이전 배열 키와 동일하면 이전 배열의 값을 덮어쓰는 상황이 없습니다.

2 '+' 기호로 배열을 병합하는 상황을 살펴보겠습니다.

$a = array('color'=>'red',5,6);$b = array('color'=>'blue','type'=>'fruit',6,7);$arr = $a+$b;
var_dump($arr);

输出结果:
array (size=4)  'color' => string 'red' (length=3)  0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)

이 결과에서 '+' 기호를 사용하여 배열을 병합하면 앞면과 뒷면이 모두 포함되는 것을 알 수 있습니다. array_merge()의 반대이며 array_merge()보다 더 무자비한데, 배열의 내용이 인덱스 형태로 나타나면 병합 후 키 값이 동일하면 덮어쓰게 됩니다!

요약:

이 기사를 읽고 나면 많은 학생들이 숫자 조합에는 한 가지 종류만 있는 것이 아니라는 사실을 깨닫게 될 것입니다. 친구들은 실제 프로젝트에 따라 적절한 PHP 배열 조합 방법을 선택할 수 있습니다!

관련 권장 사항:

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


array_merge() 함수 사용 시 PHP 배열 병합 주의 사항


php 배열 병합 두 가지 유형의 병합 방법

위 내용은 PHP에서 배열 병합을 구현하는 여러 가지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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