Home  >  Article  >  Backend Development  >  What are the ways to merge arrays in PHP and retain key values?

What are the ways to merge arrays in PHP and retain key values?

php中世界最好的语言
php中世界最好的语言Original
2018-05-18 11:24:541633browse

This time I will bring you some methods to merge arrays in PHP and retain key values? , what are the precautions to implement PHP merging arrays and retaining key values? The following is a practical case, let's take a look.

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. The values ​​in one array are appended to the previous array and returned as the result. array.

If there is the same string key name in the input array, 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, array uses string key name, the same key name will be overwritten by the following

<?php
$arr1 = array(&#39;name&#39;=>'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 same key names will not be overwritten, and the key names 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, the answers to the two parts of the multiple-choice questions in the questionnaire need to be merged together. The answers to each part are arrays (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, so the key name will be re-indexed, resulting in the question The number cannot be reserved.

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 " " The operator merges arrays and can 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).

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

What are the ways to generate complex verification codes in PHP

Detailed explanation of the steps to implement routing and class automatic loading in PHP

The above is the detailed content of What are the ways to merge arrays in 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