前言

返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从A-Z。PHP内置的一些函数活用起来,真的很省劲!

步骤

一般这时候大家可能直接就想循环下,把26个字母插进去就行了,但是我懒啊,不想用foreach那咋办呢?直接用array_merge()函数呗!而且这个用了foreach也是要处理的,不然你的数据必定会丢失!

array_merge

我们利用的就是非数字键名会被后面的值覆盖的这个特性

创建数组

我们创建一个以A-Z为键的数组,然后使用array_merge函数来合并已经处理好数据的数组。

  1. $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'=>''];
  2. $res = array_merge($charA, $list);

数据结果

  1. {
  2. "status": true,
  3. "msg": "获取联系人列表成功",
  4. "data": {
  5. "A": "",
  6. "B": "",
  7. "C": "",
  8. "D": "",
  9. "E": "",
  10. "F": "",
  11. "G": "",
  12. "H": [
  13. {
  14. "id": 1798,
  15. "nickname": "黄东海",
  16. "mobile": "152****7261",
  17. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  18. "licence": [
  19. {
  20. "licence": "豫B5B60E",
  21. "expire": 1559750400
  22. }
  23. ]
  24. }
  25. ],
  26. "I": "",
  27. "J": "",
  28. "K": "",
  29. "L": [
  30. {
  31. "id": 1820,
  32. "nickname": "刘雨",
  33. "mobile": "152****7263",
  34. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  35. "licence": [
  36. {
  37. "licence": "豫B5B62E",
  38. "expire": 1565539200
  39. },
  40. {
  41. "licence": "豫B5B63E",
  42. "expire": 1565539200
  43. }
  44. ]
  45. },
  46. {
  47. "id": 1823,
  48. "nickname": "陆玲",
  49. "mobile": "152****7266",
  50. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  51. "licence": [
  52. {
  53. "licence": "豫B5B65E",
  54. "expire": 1565539200
  55. },
  56. {
  57. "licence": "豫B5B66E",
  58. "expire": 1565539200
  59. }
  60. ]
  61. }
  62. ],
  63. "M": "",
  64. "N": "",
  65. "O": "",
  66. "P": "",
  67. "Q": "",
  68. "R": "",
  69. "S": "",
  70. "T": [
  71. {
  72. "id": 1828,
  73. "nickname": "test222",
  74. "mobile": "199****0947",
  75. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  76. "licence": [
  77. {
  78. "licence": "豫B5B60E",
  79. "expire": 1565539200
  80. }
  81. ]
  82. },
  83. {
  84. "id": 1829,
  85. "nickname": "test333",
  86. "mobile": "155****7671",
  87. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  88. "licence": [
  89. {
  90. "licence": "豫B5B62E",
  91. "expire": 1565539200
  92. }
  93. ]
  94. }
  95. ],
  96. "U": "",
  97. "V": "",
  98. "W": [
  99. {
  100. "id": 1819,
  101. "nickname": "王根生",
  102. "mobile": "152****7262",
  103. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  104. "licence": [
  105. {
  106. "licence": "豫B5B60E",
  107. "expire": 1565539200
  108. },
  109. {
  110. "licence": "豫B5B62E",
  111. "expire": 1565539200
  112. }
  113. ]
  114. },
  115. {
  116. "id": 1821,
  117. "nickname": "王莹莹",
  118. "mobile": "152****7264",
  119. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  120. "licence": [
  121. {
  122. "licence": "豫B5B63E",
  123. "expire": 1565539200
  124. },
  125. {
  126. "licence": "豫B5B64E",
  127. "expire": 1565539200
  128. }
  129. ]
  130. }
  131. ],
  132. "X": "",
  133. "Y": [
  134. {
  135. "id": 1818,
  136. "nickname": "叶佳楠",
  137. "mobile": "186****6957",
  138. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  139. "licence": [
  140. {
  141. "licence": "豫B5B60E",
  142. "expire": 1565539200
  143. }
  144. ]
  145. }
  146. ],
  147. "Z": [
  148. {
  149. "id": 1822,
  150. "nickname": "张三",
  151. "mobile": "152****7265",
  152. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  153. "licence": [
  154. {
  155. "licence": "豫B5B64E",
  156. "expire": 1565539200
  157. },
  158. {
  159. "licence": "豫B5B65E",
  160. "expire": 1565539200
  161. }
  162. ]
  163. },
  164. {
  165. "id": 1824,
  166. "nickname": "张幔",
  167. "mobile": "152****7267",
  168. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  169. "licence": [
  170. {
  171. "licence": "豫B5B66E",
  172. "expire": 1565539200
  173. },
  174. {
  175. "licence": "豫B5B67E",
  176. "expire": 1565539200
  177. }
  178. ]
  179. },
  180. {
  181. "id": 1825,
  182. "nickname": "赵四",
  183. "mobile": "152****7268",
  184. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  185. "licence": [
  186. {
  187. "licence": "豫B5B67E",
  188. "expire": 1565539200
  189. },
  190. {
  191. "licence": "豫B5B68E",
  192. "expire": 1565539200
  193. }
  194. ]
  195. },
  196. {
  197. "id": 1826,
  198. "nickname": "张秀芝",
  199. "mobile": "152****7269",
  200. "avatar": "http://cache.wangyangyang.vip/timg.jpg",
  201. "licence": [
  202. {
  203. "licence": "豫B5B68E",
  204. "expire": 1565539200
  205. },
  206. {
  207. "licence": "豫B5B69E",
  208. "expire": 1565539200
  209. }
  210. ]
  211. }
  212. ]
  213. }
  214. }

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. miller_rabin + pollard_rho模版

    #include<stdio.h> #include<stdlib.h> #include<time.h> #include<math.h> #incl ...

  2. 洛谷P2625 豪华游轮

    题目描述 有一条豪华游轮(其实就是条小木船),这种船可以执行4种指令: right X : 其中X是一个1到719的整数,这个命令使得船顺时针转动X度. left X : 其中X是一个1到719的整数 ...

  3. Codeforces Round #284 (Div. 2) D. Name That Tune [概率dp]

    D. Name That Tune time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  4. PatentTips - GPU Support for Blending

    Graphics processing units (GPUs) are specialized hardware units used to render 2-dimensional (2-D) a ...

  5. codevs——1842 递归第一次

    1842 递归第一次  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 同学们在做题时常遇到这种函数 f( ...

  6. jquery ajax 跨域訪问样例

    <script type="text/javascript"> $(function(){    $.ajax({    cache : false,    type ...

  7. chrome插件网站

    chrome插件网站 http://chromecj.com/

  8. Lambda 表达式的演示样例-来源(MSDN)

    本文演示怎样在你的程序中使用 lambda 表达式. 有关 lambda 表达式的概述.请參阅 C++ 中的 Lambda 表达式. 有关 lambda 表达式结构的具体信息,请參阅 Lambda 表 ...

  9. mac上的xampp出现Access forbidden! You don’t have permission to access the requested object. It is either

    一个Joomla!程序,之前是在win上的xampp上运行得非常好的,当我把它拿到mac下面的xampp上去运行的时候,发现有问题,没法运行,报以下的错误: Access forbidden!  Yo ...

  10. Html5培训之精髓

    一.核心技术(可去各技术官网学习) 1.html5的六大核心技术:Html5,CSS3,JavaScript,WebSocket,PhoneGap,Node.js,它们覆盖了设备端,浏览器端和云端的开 ...