前言

返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从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. EC++学习笔记(三) 资源管理

    条款13:以对象管理资源 资源包括:动态分配内存.文件描述符.网络socket.互斥锁.数据库连接 把资源放进对象内,可以依赖c++的"析构函数自动调用机制"确保资源被释放智能指针 ...

  2. Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创)

    Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创) 由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量.因而inter ...

  3. Java内存区域划分、内存分配原理(深入理解JVM一)

    Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域.这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动和结束而创建和销 ...

  4. CentOS 7.3 源码安装 OpenVAS 9

    https://my.oschina.net/u/2613235/blog/1583198

  5. Unity3D 异步加载 在 场景加载 中的使用

    异步加载 我们想一想玩过的一些游戏,基本都会有加载界面——因为游戏场景数据较大,所以需要加载一小段时间.那为什么一些2D游戏也会有加载界面呢?按理说2D游戏场景会很小,这样做是为了让游戏跑在低端设备上 ...

  6. springboot整合mybatis+jetty笔记以及遇到的问题

    图文创建一个springboot Demo(IDEA创建)+目录图+返回json springboot创建参考 pom.xml <dependencies> <!--<depe ...

  7. 单点登录CAS-Demo

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 1安全证书配置 2部署服务端CAS-Server 3部署CAS-Client 4测试SSO   1,安全证书配置 CAS默认 ...

  8. HDU 1501

    Zipper Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  9. shell 检查文件夹所属用户组

    shell 检查文件夹所属用户组 #!/bin/bash # 检查文件夹 权限是否777 检查文件夹所属组是否www # authro ranmufei # 2017 08 21 云板容器版 /dat ...

  10. 创建一个简单的 http 服务器

    创建一个简单的 http 服务器 直接在 目录下运行 当前的目录即可是root 目录 默认端口8000 应该可以加参数修改端口号 Python2 python -m SimpleHTTPServer ...