Home  >  Article  >  Backend Development  >  How to merge arrays using php and retain key values

How to merge arrays using php and retain key values

jacklove
jackloveOriginal
2018-06-08 16:59:561822browse

php merges arrays, generally using the array_merge method.

array_merge — Merge one or more arrays

array array_merge ( array $array1 [, array $... ] )

array_merge Merge the cells of one or more arrays, with the values ​​in one array appended to the front After an array, the resulting array is returned.

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 name will be overwritten by the subsequent one

<?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 same key name will not 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, the answers to the two parts of the multiple-choice questions in the questionnaire need to be combined. The answers to each part are arrays (key=>value), the key is the question number, the value is the answer, and the two parts There are no duplicate question numbers.

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) It is a number, so 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 to retain the key values ​​of the array. If the merged array contains the same key value, the later one will not overwrite the previous key value (the previous one takes precedence).

This article explains how to use PHP to merge arrays and retain key values. For more related content, please pay attention to the PHP Chinese website.

Related recommendations:

How to use phpcurl to implement multi-process downloading of file classes

How to determine local and remote files through php Is there any

#Explanation on the method of converting rows and columns of mysql table data

The above is the detailed content of How to merge arrays using php and retain key values. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn