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 相关文章推荐
一个简单的自动发送邮件系统(三)
Oct 09 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 PHP
php输入流php://input使用浅析
Sep 02 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
PHP生成短网址方法汇总
Jul 12 PHP
PHP 文件上传后端处理实用技巧方法
Jan 06 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 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
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
js实现随机点名
2021/01/19 Javascript
简单学习Python time模块
2016/04/29 Python
python 实现倒排索引的方法
2018/12/25 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
应届毕业生个人自荐信范文
2013/11/30 职场文书
采购主管的岗位职责
2013/12/17 职场文书
教师专业自荐书范文
2014/02/10 职场文书
工作散漫检讨书
2014/09/16 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript