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引用地址改变变量值的问题
Mar 23 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
php中的ini配置原理详解
Oct 14 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
php使用Jpgraph创建折线图效果示例
Feb 15 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 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中文汉字验证码
2007/04/08 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
JavaScript 调试器简介
2009/02/21 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
Seajs源码详解分析
2019/04/02 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
python的id()函数解密过程
2012/12/25 Python
Python实现KNN邻近算法
2021/01/28 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
python实现证件照换底功能
2019/08/20 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
文明村镇申报材料
2014/05/06 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
企业法律事务工作总结
2015/08/11 职场文书
暑假生活随笔
2015/08/15 职场文书
爱护环境建议书
2015/09/14 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书