PHP——巧用PHP函数array_merge()合并数组
前言
返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从A-Z。PHP内置的一些函数活用起来,真的很省劲!
步骤
一般这时候大家可能直接就想循环下,把26个字母插进去就行了,但是我懒啊,不想用foreach
那咋办呢?直接用array_merge()
函数呗!而且这个用了foreach
也是要处理的,不然你的数据必定会丢失!
array_merge
我们利用的就是非数字键名会被后面的值覆盖的这个特性
创建数组
我们创建一个以A-Z为键的数组,然后使用array_merge函数来合并已经处理好数据的数组。
$charA = ['A'=>'','B'=>'','C'=>'','D'=>'','E'=>'','F'=>'','G'=>'','H'=>'','I'=>'','J'=>'','K'=>'','L'=>'','M'=>'','N'=>'','O'=>'','P'=>'','Q'=>'','R'=>'','S'=>'','T'=>'','U'=>'','V'=>'','W'=>'','X'=>'','Y'=>'','Z'=>''];
$res = array_merge($charA, $list);
数据结果
{
"status": true,
"msg": "获取联系人列表成功",
"data": {
"A": "",
"B": "",
"C": "",
"D": "",
"E": "",
"F": "",
"G": "",
"H": [
{
"id": 1798,
"nickname": "黄东海",
"mobile": "152****7261",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B60E",
"expire": 1559750400
}
]
}
],
"I": "",
"J": "",
"K": "",
"L": [
{
"id": 1820,
"nickname": "刘雨",
"mobile": "152****7263",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B62E",
"expire": 1565539200
},
{
"licence": "豫B5B63E",
"expire": 1565539200
}
]
},
{
"id": 1823,
"nickname": "陆玲",
"mobile": "152****7266",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B65E",
"expire": 1565539200
},
{
"licence": "豫B5B66E",
"expire": 1565539200
}
]
}
],
"M": "",
"N": "",
"O": "",
"P": "",
"Q": "",
"R": "",
"S": "",
"T": [
{
"id": 1828,
"nickname": "test222",
"mobile": "199****0947",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B60E",
"expire": 1565539200
}
]
},
{
"id": 1829,
"nickname": "test333",
"mobile": "155****7671",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B62E",
"expire": 1565539200
}
]
}
],
"U": "",
"V": "",
"W": [
{
"id": 1819,
"nickname": "王根生",
"mobile": "152****7262",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B60E",
"expire": 1565539200
},
{
"licence": "豫B5B62E",
"expire": 1565539200
}
]
},
{
"id": 1821,
"nickname": "王莹莹",
"mobile": "152****7264",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B63E",
"expire": 1565539200
},
{
"licence": "豫B5B64E",
"expire": 1565539200
}
]
}
],
"X": "",
"Y": [
{
"id": 1818,
"nickname": "叶佳楠",
"mobile": "186****6957",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B60E",
"expire": 1565539200
}
]
}
],
"Z": [
{
"id": 1822,
"nickname": "张三",
"mobile": "152****7265",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B64E",
"expire": 1565539200
},
{
"licence": "豫B5B65E",
"expire": 1565539200
}
]
},
{
"id": 1824,
"nickname": "张幔",
"mobile": "152****7267",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B66E",
"expire": 1565539200
},
{
"licence": "豫B5B67E",
"expire": 1565539200
}
]
},
{
"id": 1825,
"nickname": "赵四",
"mobile": "152****7268",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B67E",
"expire": 1565539200
},
{
"licence": "豫B5B68E",
"expire": 1565539200
}
]
},
{
"id": 1826,
"nickname": "张秀芝",
"mobile": "152****7269",
"avatar": "http://cache.wangyangyang.vip/timg.jpg",
"licence": [
{
"licence": "豫B5B68E",
"expire": 1565539200
},
{
"licence": "豫B5B69E",
"expire": 1565539200
}
]
}
]
}
}
PHP——巧用PHP函数array_merge()合并数组的更多相关文章
- PHP中使用函数array_merge()合并数组
如果明白数组其实就是map的话,我想你就会明白array_merge为什么要这么实现了 PHP中合并数组分成两种情况 1.如果这两个数组中有相同的字符串键名: <?php header('Con ...
- php中array_merge合并数组详解
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数 ...
- PHP的array_merge()合并数组
,4];print_r(array_merge($arr1,$arr2));返回结果:Array( [a] => 3 [b] => 2 [0] => 4)1注释:当 ...
- PHP合并数组array_merge函数运算符加号与的区别
两个的区别是:1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数 ...
- 深度解析PHP数组函数array_merge
很久之前就用到过这个函数,只不不过是简单的用用而已并没有做太深入的研究 今天在翻阅别人博客时看到了对array_merge的一些使用心得,故此自己来进行一次总结. array_merge是将一个或者多 ...
- php 通过array_merge()和array+array合并数组的区别和效率比较
众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() ...
- php数组函数-array_merge()
array_merge()函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值.如果数组是数字 索引,则键名会以连续方式重新索引. 注:如果仅仅向array_merg ...
- PHP合并数组+与array_merge的区别
http://www.phpernote.com/php-string/351.html PHP中合并两个数组可以使用+或者array_merge,但这两个还是有区别的 主要区别是当两个或者多个数 ...
- PHP合并数组+与array_merge的区别分析
主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面 ...
随机推荐
- centos 7如何配置网络、网卡、ip命令
Linux网络相关配置文件 Linux网络配置相关的文件根据不同的发行版目录名称有所不同,但大同小异,主要有似下目录或文件. (1)/etc/hostname:主要功能在于修改主机名称. (2)/et ...
- 作业调度方案(codevs 1156)
题目描述 Description 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作, ...
- Windows下ElasticSearch的使用方式 CURL+Cygwin+Head插件
Windows使用ElasticSearch的命令方法 一.CURL(不推荐) 下载curl安装包,解压到指定目录,在命令行运行解压后的exe文件. 二.Cygwin(推荐) 安装Windows下类l ...
- 【SPOJ220】Relevant Phrases of Annihilation(后缀数组,二分)
题意: n<=10,len<=1e4 思路: #include<cstdio> #include<cstring> #include<string> # ...
- Peaks BZOJ 3545 / Peaks加强版 BZOJ 3551
Peaks [问题描述] 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问 ...
- java面2
面试试题汇总集: <[面试题]2018年最全Java面试通关秘籍汇总集!> <[面试题]2018年最全Java面试通关秘籍第二套!> <[面试题]2018年最全Java面 ...
- centos 安装php缓存 apc或zend-opcode
去官方下载apc:pecl.php.net 搜索apc,安装最新的. #wget http://pecl.php.net/get/APC# tar -xzvf APC-3.1.9.tgz#cd AP ...
- Shiro源代码分析之两种Session的方式
1.Shiro默认的Session处理方式 <!-- 定义 Shiro 主要业务对象 --> <bean id="securityManager" class=& ...
- Python 基础教程之包和类的用法
Python 基础教程之包和类的用法 建立一个文件夹filePackage 在filePackage 文件夹内创建 __init__.py 有了 __init__.py ,filePackage才算是 ...
- 数据库系统学习(六)-SQL语言基本操作
第六讲 SQL语言概述 基本命名操作 关系代数是集合的思想 关系演算是逻辑的思想(数学公式) SQL-86,SQL-89,SQL-92,SQL-99,SQL-2003,2008...发展过程标准 SQ ...