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新手上路(十二)
Oct 09 PHP
php 信息采集程序代码
Mar 17 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
php去除字符串换行符示例分享
Feb 13 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
php函数mkdir实现递归创建层级目录
Oct 27 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 PHP
基于php伪静态的实现方法解析
Jul 31 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+mysql)
2007/11/23 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
php实现的简单日志写入函数
2015/03/31 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python reduce 函数使用详解
2017/12/05 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python 消费 kafka 数据教程
2019/12/21 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
Python 爬虫性能相关总结
2020/08/03 Python
python开发一个解析protobuf文件的简单编译器
2020/11/17 Python
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
公司清洁工岗位职责
2013/12/14 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
招商银行收入证明
2015/06/17 职场文书
航班延误投诉信
2015/07/02 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书