前言

返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从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. centos 7如何配置网络、网卡、ip命令

    Linux网络相关配置文件 Linux网络配置相关的文件根据不同的发行版目录名称有所不同,但大同小异,主要有似下目录或文件. (1)/etc/hostname:主要功能在于修改主机名称. (2)/et ...

  2. 作业调度方案(codevs 1156)

    题目描述 Description 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作, ...

  3. Windows下ElasticSearch的使用方式 CURL+Cygwin+Head插件

    Windows使用ElasticSearch的命令方法 一.CURL(不推荐) 下载curl安装包,解压到指定目录,在命令行运行解压后的exe文件. 二.Cygwin(推荐) 安装Windows下类l ...

  4. 【SPOJ220】Relevant Phrases of Annihilation(后缀数组,二分)

    题意: n<=10,len<=1e4 思路: #include<cstdio> #include<cstring> #include<string> # ...

  5. Peaks BZOJ 3545 / Peaks加强版 BZOJ 3551

    Peaks [问题描述] 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问 ...

  6. java面2

    面试试题汇总集: <[面试题]2018年最全Java面试通关秘籍汇总集!> <[面试题]2018年最全Java面试通关秘籍第二套!> <[面试题]2018年最全Java面 ...

  7. 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 ...

  8. Shiro源代码分析之两种Session的方式

    1.Shiro默认的Session处理方式 <!-- 定义 Shiro 主要业务对象 --> <bean id="securityManager" class=& ...

  9. Python 基础教程之包和类的用法

    Python 基础教程之包和类的用法 建立一个文件夹filePackage 在filePackage 文件夹内创建 __init__.py 有了 __init__.py ,filePackage才算是 ...

  10. 数据库系统学习(六)-SQL语言基本操作

    第六讲 SQL语言概述 基本命名操作 关系代数是集合的思想 关系演算是逻辑的思想(数学公式) SQL-86,SQL-89,SQL-92,SQL-99,SQL-2003,2008...发展过程标准 SQ ...