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编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php入门学习知识点五 关于php数组的几个基本操作
Jul 14 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
php中Redis的应用--消息传递
Mar 28 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
laravel框架上传图片实现实时预览功能
Oct 14 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 批量替换html标签的实例代码
2013/11/26 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP编写RESTful接口
2016/02/23 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
微信小程序icon组件使用详解
2018/01/31 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
Python多进程写入同一文件的方法
2019/01/14 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
求职信模板标准格式范文
2014/02/23 职场文书
海上钢琴师观后感
2015/06/03 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript