Home  >  Article  >  Backend Development  >  How to merge arrays in php and keep key values

How to merge arrays in php and keep key values

PHPz
PHPzforward
2016-07-29 08:33:291837browse

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(&#39;name&#39;=>&#39;fdipzone&#39;);$arr2 = array(&#39;name&#39;=>&#39;terry&#39;);$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=>&#39;fdipzone&#39;,1=>&#39;terry&#39;);$arr2 = array(0=>&#39;php&#39;,1=>&#39;python&#39;);$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=>&#39;A&#39;,12=>&#39;B&#39;,13=>&#39;C&#39;,14=>&#39;D&#39;);$form_data2 = array(25=>&#39;B&#39;,26=>&#39;A&#39;,27=>&#39;D&#39;,28=>&#39;C&#39;);$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=>&#39;A&#39;,12=>&#39;B&#39;,13=>&#39;C&#39;,14=>&#39;D&#39;);$form_data2 = array(25=>&#39;B&#39;,26=>&#39;A&#39;,27=>&#39;D&#39;,28=>&#39;C&#39;);$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

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete