php合并数组并保留键值的实现方法


Posted in PHP onMarch 12, 2018

php合并数组,一般会使用array_merge方法。

array_merge — 合并一个或多个数组

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

array_merge 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

例子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合并,因为题号(key)是数字,所以键名会重新索引,导致题号不能保留。

合并数组并保留键值的方法:

<?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合并数组并保留键值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php开发环境配置记录
Jan 14 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
Jun 13 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
php操作MongoDB类实例
Jun 17 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 14 PHP
如何通过PHP实现Des加密算法代码实例
May 09 PHP
php删除二维数组中的重复值方法
Mar 12 #PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 #PHP
php关联数组与索引数组及其显示方法
Mar 12 #PHP
基于php数组中的索引数组和关联数组详解
Mar 12 #PHP
PHP生成加减算法方式的验证码实例
Mar 12 #PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 #PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 #PHP
You might like
javascript 鼠标滚轮事件
2009/04/09 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
玩转python爬虫之正则表达式
2016/02/17 Python
Python模拟三级菜单效果
2017/09/11 Python
Python设计模式之门面模式简单示例
2018/01/09 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
2018/06/19 Python
浅谈Django的缓存机制
2018/08/23 Python
python读写Excel表格的实例代码(简单实用)
2019/12/19 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
英格兰足协官方商店:England Store
2019/07/12 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
播音主持女孩的自我评价分享
2013/11/20 职场文书
拓展培训心得体会
2014/01/04 职场文书
家长学校工作方案
2014/05/07 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
Python OpenCV 图像平移的实现示例
2021/06/04 Python