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 相关文章推荐
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
php实现检查文章是否被百度收录
Jan 27 PHP
php编写的抽奖程序中奖概率算法
May 14 PHP
php实现求相对时间函数
Jun 15 PHP
PHP7.0版本备注
Jul 23 PHP
php验证码生成代码
Nov 11 PHP
php实现的xml操作类
Jan 15 PHP
各种快递查询--Api接口
Apr 26 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP学习笔记之session
May 06 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
Mar 12 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中array_merge与array+array的区别
2013/06/21 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
jquery+css实现下拉列表功能
2017/09/03 jQuery
JS实现div模块的截图并下载功能
2017/10/17 Javascript
js操作二进制数据方法
2018/03/03 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
JS实现简单打字测试
2020/06/24 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
django如何连接已存在数据的数据库
2018/08/14 Python
python3获取当前目录的实现方法
2019/07/29 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
详解KMP算法以及python如何实现
2020/09/18 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
财务会计毕业生自荐信
2013/11/02 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
女生抽烟检讨书
2014/10/05 职场文书
追悼会答谢词
2015/01/05 职场文书
作弊检讨书
2015/01/27 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
MySQL系列之十二 备份与恢复
2021/07/02 MySQL