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 相关文章推荐
基于mysql的论坛(3)
Oct 09 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
php错误日志简单配置方法
Jul 11 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
详谈php静态方法及普通方法的区别
Oct 04 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
Oct 08 PHP
smarty模板数学运算示例
Dec 11 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 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的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
angular4自定义组件详解
2017/09/28 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
python scatter函数用法实例详解
2020/02/11 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
KIKO美国官网:意大利的平价彩妆品牌
2017/05/16 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
高中生自我评价范文2015
2015/03/03 职场文书