Home > Article > Backend Development > How to merge arrays in php and keep key values
This article mainly introduces how PHP merges arrays and retains key values. It has certain reference value. Interested friends can refer to it. I hope it will be helpful to you!
php merges arrays, generally using the array_merge method.
array_merge — Merge one or more arrays
array array_merge ( array $array1 [, array $... ] )
array_merge merges the cells of one or more arrays, appending the values in one array to the previous array, returning the resulting array.
If the input array has the same string key name, the value after the key name will overwrite the previous value. However, if the array contains numeric keys, the latter will not overwrite the original value, but will be appended to it.
If only an array is given and the array is numerically indexed, the key names are re-indexed in a consecutive manner.
Example 1, the array uses string key names, the same key names will be overwritten by subsequent ones
<?php$arr1 = array('name'=>'fdipzone');$arr2 = array('name'=>'terry');$result = array_merge($arr1, $arr2); print_r($result);?>
Output:
Array( [name] => terry )
Example 2, the array uses numeric key names, the key names are the same but not will be overwritten, and the key name will be re-indexed
<?php$arr1 = array(0=>'fdipzone',1=>'terry');$arr2 = array(0=>'php',1=>'python');$result = array_merge($arr1, $arr2); print_r($result);?>
Output:
Array( [0] => fdipzone [1] => terry [2] => php [3] => python )
Due to work needs, it is necessary to merge the answers to the two parts of the multiple-choice questions in the questionnaire, and each part of the answer is an array (key=>value) , key is the question number, value is the answer, and there is no duplication of question numbers in the two parts.
Use array_merge to merge the two parts of the answer
<?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);?>
Output:
Array( [0] => A [1] => B [2] => C [3] => D [4] => B [5] => A [6] => D [7] => C )
Use array_merge to merge. Because the question number (key) is a number, the key name will be re-indexed, resulting in the question number not being retained.
Method to merge arrays and keep key values:
<?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);?>
Output:
Array( [11] => A [12] => B [13] => C [14] => D [25] => B [26] => A [27] => D [28] => C )
Use "+" operator to merge arrays, you can keep the key values of the arrays, if merged The arrays contain the same key values, and the later key values will not overwrite the previous key values (the former one takes precedence).
For more related tutorials, please visit A complete set of video tutorials on PHP programming from entry to master