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 已经成熟
Dec 04 PHP
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
PHP开发微信支付的代码分享
May 25 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP常用字符串函数小结(推荐)
Aug 05 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
PHP如何防止用户重复提交表单
Dec 09 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维护文件系统
2006/10/09 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
js网页版计算器的简单实现
2013/07/02 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
jquery实现动态画圆
2014/12/04 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
Cpy和Python的效率对比
2015/03/20 Python
Python中super()函数简介及用法分享
2016/07/11 Python
python 2.7.14安装图文教程
2018/04/08 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
django模板结构优化的方法
2019/02/28 Python
Python 如何提高元组的可读性
2019/08/26 Python
Python帮你识破双11的套路
2019/11/11 Python
python flask搭建web应用教程
2019/11/19 Python
如何表示python中的相对路径
2020/07/08 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
《寓言两则》教学反思
2014/02/27 职场文书
洗车工岗位职责
2014/03/15 职场文书
授权委托书公证
2014/09/14 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
工作作风建设心得体会
2014/10/22 职场文书
2014年实习期工作总结
2014/11/27 职场文书