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远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
PHP入门学习的几个不错的实例代码
Jul 13 PHP
php 操作excel文件的方法小结
Dec 31 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
PHP中使用匿名函数操作数据库的例子
Nov 17 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
Dec 18 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 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
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
前端性能优化及技巧
2016/05/06 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Django中的文件的上传的几种方式
2018/07/23 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
python Zmail模块简介与使用示例
2020/12/19 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
《狼和小羊》教学反思
2014/04/20 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏