>  기사  >  백엔드 개발  >  키를 변경하지 않고 PHP에서 배열을 병합하는 방법

키를 변경하지 않고 PHP에서 배열을 병합하는 방법

青灯夜游
青灯夜游원래의
2021-07-15 14:00:312633검색

방법: 1. "+" 연산자를 사용합니다. 구문은 "array 1 + array 2"입니다. 2. 두 개 이상의 배열 요소가 동일한 키 이름을 갖는 경우 키가 수행되지 않습니다. 대신 이름 덮어쓰기는 동일한 키 이름을 가진 여러 값을 배열로 반복적으로 결합합니다.

키를 변경하지 않고 PHP에서 배열을 병합하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

일반적으로 array_merge()는 PHP에서 두 배열을 병합하는 데 사용됩니다

예:

$data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc'];
$data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff'];
$data = array_merge($data1, $data2);
var_dump($data);

결과는 다음과 같습니다. :

array(6) {
  [0]=>
  string(3) "aaa"
  [1]=>
  string(3) "bbb"
  [2]=>
  string(3) "ccc"
  [3]=>
  string(3) "ddd"
  [4]=>
  string(3) "eee"
  [5]=>
  string(3) "fff"
}

알겠습니다. array_merge()를 사용하면 키 값이 재설정됩니다. 키 값이 유용하고 재설정하고 싶지 않다면 "+"를 사용하여 배열을 병합할 수 있습니다.

$data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc'];
$data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff'];
$data = $data1 + $data2;
var_dump($data);

결과 얻기:

array(6) {
  [111]=>
  string(3) "aaa"
  [222]=>
  string(3) "bbb"
  [333]=>
  string(3) "ccc"
  [444]=>
  string(3) "ddd"
  [555]=>
  string(3) "eee"
  [666]=>
  string(3) "fff"
}

또한 array_merge_recursive 함수를 사용하여 하나 이상의 배열의 셀을 병합할 수 있으며, 한 배열의 값은 이전 배열에 추가됩니다. 결과 배열을 반환합니다.

이 함수는 array_merge의 업그레이드 버전입니다. array_merge를 기반으로 다음 함수를 추가합니다. 키 값이 동일하면 숫자인 경우 array_merge와 같고, 문자열이면 후자가 됩니다. 더 이상 이전 항목을 덮어쓰지 않지만 대신 뒤에 첨부되는 방법은 재귀적으로 추가됩니다. 예:

 /* array_merge_recursive */
$jiaArr = array(
	'name1'=>'xiaoli',
	'name2'=>'xiaohua',
	'name3'=>'xiaoming',
	'1'=>'teacher',
);
 
$jiaBrr = array(
	'name1'=>'xiaolis',
	'name5'=>'xiaohuas',
	'name6'=>'xiaomings',
	'1'=>'teachers',
);
$jiaAll = array_merge_recursive($jiaArr,$jiaBrr);
var_dump($jiaAll);
 
/*浏览器output:
array(7) {
  ["name1"]=>
  array(2) {
    [0]=>
    string(6) "xiaoli"
    [1]=>
    string(7) "xiaolis"
  }
  ["name2"]=>
  string(7) "xiaohua"
  ["name3"]=>
  string(8) "xiaoming"
  [0]=>
  string(7) "teacher"
  ["name5"]=>
  string(8) "xiaohuas"
  ["name6"]=>
  string(9) "xiaomings"
  [1]=>
  string(8) "teachers"
}
*/

name1에는 두 배열이 모두 있지만 덮어쓰지 않고 반복적으로 추가됩니다. 1개의 배열 키 값은 여전히 ​​​​​​입니다.

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

위 내용은 키를 변경하지 않고 PHP에서 배열을 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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