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
Oct 09 PHP
PHP中对数据库操作的封装
Oct 09 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
PHP实现合并discuz用户
Aug 05 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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程序员的13个好习惯小结
2012/02/20 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
python实现清屏的方法
2015/04/30 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
Python判断telnet通不通的实例
2019/01/26 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
实习生个人的自我评价
2013/12/08 职场文书
2014年清明节寄语
2014/04/03 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers