이 글은 주로 PHP에서 배열을 병합하고 키 값을 유지하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
php는 일반적으로 array_merge 메소드를 사용하여 배열을 병합합니다.
array_merge — 하나 이상의 배열 병합
array array_merge ( array $array1 [, array $... ] )
array_merge 하나 이상의 배열의 셀을 병합하고, 한 배열의 값을 이전 배열에 추가합니다. one 배열 다음에 결과 배열을 반환합니다.
입력 배열의 문자열 키 이름이 동일한 경우 키 이름 뒤의 값이 이전 값을 덮어씁니다. 그러나 배열에 숫자 키가 포함된 경우 후자는 원래 값을 덮어쓰지 않고 추가됩니다.
배열만 지정하고 해당 배열을 숫자로 인덱싱하는 경우 키 이름이 연속적으로 다시 인덱싱됩니다.
예 1, 배열은 문자열 키 이름을 사용하며 동일한 키 이름은 다음으로 덮어쓰여집니다.
<?php$arr1 = array('name'=>'fdipzone');$arr2 = array('name'=>'terry');$result = array_merge($arr1, $arr2); print_r($result);?>
출력:
Array( [name] => terry )
예 2, 배열은 숫자 키 이름을 사용하고 동일한 키 이름은 덮어쓰지 않으며 키 이름은 다시 색인화됩니다
<?php$arr1 = array(0=>'fdipzone',1=>'terry');$arr2 = array(0=>'php',1=>'python');$result = array_merge($arr1, $arr2); print_r($result);?>
출력:
Array( [0] => fdipzone [1] => terry [2] => php [3] => python )
작업 요구로 인해 객관식 질문의 두 부분에 대한 답변을 병합해야 합니다. 설문지에서 각 부분에 대한 답변은 배열(key=>value)이고, key는 질문 번호, value는 답변이며, 두 부분에서 질문 번호가 중복되지 않습니다.
array_merge를 사용하여 답변의 두 부분을 병합합니다.
<?php$form_data1 = array(11=>'A',12=>'B',13=>'C',14=>'D');$form_data2 = array(25=>'B',26=>'A',27=>'D',28=>'C');$result = array_merge($form_data1, $form_data2); print_r($result);?>
출력:
Array( [0] => A [1] => B [2] => C [3] => D [4] => B [5] => A [6] => D [7] => C )
array_merge 사용 질문 키가 숫자이므로 키 이름이 다시 색인화되어 질문 번호가 유지되지 않기 때문에 병합합니다.
배열을 병합하고 키 값을 유지하는 방법:
<?php$form_data1 = array(11=>'A',12=>'B',13=>'C',14=>'D');$form_data2 = array(25=>'B',26=>'A',27=>'D',28=>'C');$result = $form_data1 + $form_data2; print_r($result);?>
출력:
Array( [11] => A [12] => B [13] => C [14] => D [25] => B [26] => A [27] => D [28] => C )
“ ” 연산자를 사용하여 배열을 병합하여 배열의 키 값을 유지합니다. 키 값, 나중 키 값은 이전 키 값을 덮어쓰지 않습니다(이전 키 값이 우선 적용됨).
더 많은 관련 튜토리얼을 보려면 초보부터 마스터까지 PHP 프로그래밍에 대한 전체 비디오 튜토리얼 세트