前言

返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从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()合并数组的更多相关文章

  1. PHP中使用函数array_merge()合并数组

    如果明白数组其实就是map的话,我想你就会明白array_merge为什么要这么实现了 PHP中合并数组分成两种情况 1.如果这两个数组中有相同的字符串键名: <?php header('Con ...

  2. php中array_merge合并数组详解

    如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数 ...

  3. PHP的array_merge()合并数组

    ,4];print_r(array_merge($arr1,$arr2));返回结果:Array(    [a] => 3    [b] => 2    [0] => 4)1注释:当 ...

  4. PHP合并数组array_merge函数运算符加号与的区别

    两个的区别是:1.数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数 ...

  5. 深度解析PHP数组函数array_merge

    很久之前就用到过这个函数,只不不过是简单的用用而已并没有做太深入的研究 今天在翻阅别人博客时看到了对array_merge的一些使用心得,故此自己来进行一次总结. array_merge是将一个或者多 ...

  6. php 通过array_merge()和array+array合并数组的区别和效率比较

    众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() ...

  7. php数组函数-array_merge()

    array_merge()函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值.如果数组是数字 索引,则键名会以连续方式重新索引. 注:如果仅仅向array_merg ...

  8. PHP合并数组+与array_merge的区别

    http://www.phpernote.com/php-string/351.html PHP中合并两个数组可以使用+或者array_merge,但这两个还是有区别的   主要区别是当两个或者多个数 ...

  9. PHP合并数组+与array_merge的区别分析

    主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面 ...

随机推荐

  1. 【Tomcat】linux下实时查看tomcat运行日志

    今天在部署一个项目到linux服务器的时候一直报错,可是在日志文件中也没有记录.但是在本地测试的时候都没有错误,在windoesServer服务器上也没错误,实在找不到原因,因此想的实时查看tomca ...

  2. Codeforces Round #268 (Div. 2) D. Two Sets [stl - set + 暴力]

    8161957                 2014-10-10 06:12:37     njczy2010     D - Two Sets             GNU C++     A ...

  3. AC日记——小书童——刷题大军 洛谷 P1926

    题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人. 文言是火,点亮历史宫灯:历史是灯,照亮社会之路:社会是路,通向哲学大坑:哲学是坑,埋葬文科生 ...

  4. Java游戏服务器搭建

    一.前言 此游戏服务器架构是一个单服的形式,也就是说所有游戏逻辑在一个工程里,没有区分登陆服务器.战斗服务器.世界服务器等.此架构已成功应用在了多款页游服务器 .在此框架中没有实现相关业务逻辑,只有简 ...

  5. flask生成环境不要使用其自身低性能的服务器

    flask自带一个服务器,主要用在开发环境.默认情况下一次只能处理一个请求,当然你也可以设置为多进程或者多线程的情况. 但是其自带服务器的处理能力比较有限.生成环境下应该使用其他的服务器,参照:htt ...

  6. 【转】Spring框架深入理解

    参考这篇文章: http://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ Spring内部分为Beans, Context 和 ...

  7. Spring boot 整合spring Data JPA+Spring Security+Thymeleaf框架(上)

    近期上班太忙所以耽搁了给大家分享实战springboot 框架的使用. 以下是spring boot 整合多个框架的使用. 首先是准备工作要做好. 第一  导入框架所需的包,我们用的事maven 进行 ...

  8. tcp三次握手和syn 洪水攻击

    1. 连接后,所有的 ack 为1才有效(连接后,ack 也一般都是1) 2. 建立连接3次握手, 如何确认对方收到了你发的包, seq 是自己发出去的,自己知道seq的值.所以怎么确认对方收到了自己 ...

  9. react 创建组件 (三)PureComponet

    我们知道,当组件的props或者state发生变化的时候:React会对组件当前的Props和State分别与nextProps和nextState进行比较,当发现变化时,就会对当前组件以及子组件进行 ...

  10. PHP读取excel(6)

    有时候我们只需要读取某些指定sheet,具体代码如下: <?php header("Content-Type:text/html;charset=utf-8"); //引入读 ...