经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
向php数组函数array_colum()传入奇怪的数组
来源:cnblogs  作者:hellozxcv  时间:2019/11/6 8:52:34  对本文有异议
  1. 1 <?php
  2. 2 // 向php数组函数array_colum()传入奇怪的数组
  3. 3 // array_colum()函数 返回行列数组的其中一列,可以用其他列的键充当键
  4. 4 $arr = [
  5. 5 [ 1, 2, 3, 4, 5 ],
  6. 6 [ 1, 2, 3, 4, 5 ],
  7. 7 [ 1, 2, 3, 4, 5 ]
  8. 8 ];
  9. 9 print_r( array_column( $arr, 1, 2 ) );
  10. 10 // Array
  11. 11 // (
  12. 12 // [3] => 2
  13. 13 // )
  14. 14 // 本例,用第三列作返回第二列的键,第三列的值都是4,array_colum()返回的数组键名重复,
  15. 15 // 于是值被覆盖,最后只剩下一个元素
  16. 16 print_r( array_column( $arr, 1 ) );
  17. 17 // Array
  18. 18 // (
  19. 19 // [0] => 2
  20. 20 // [1] => 2
  21. 21 // [2] => 2
  22. 22 // )
  23. 23 // array_colum( $arr, 1 ) 这样使用就可以获得第二列的值。
  24. 24
  25. 25 $arr = [
  26. 26 [1, 2, 3, 4],
  27. 27 [5, 6, 7],
  28. 28 [8, 9, 10, 11]
  29. 29 ];
  30. 30 print_r( array_column( $arr, 1, 3 ) );
  31. 31 // Array
  32. 32 // (
  33. 33 // [4] => 2
  34. 34 // [5] => 6
  35. 35 // [11] => 9
  36. 36 // )
  37. 37 // 本例中,目标数组的第四列缺少一项,于是返回的数组第二个元素的键被系统php自动设置成了5
  38. 38 $arr = [
  39. 39 [1, 2, 3, 4],
  40. 40 [5, 6, 7],
  41. 41 [8, 9, 10, 11]
  42. 42 ];
  43. 43 print_r( array_column( $arr, 3, 1 ) );
  44. 44 // Array
  45. 45 // (
  46. 46 // [2] => 4
  47. 47 // [9] => 11
  48. 48 // )
  49. 49 // 在本例中,目标数组的第四列少一个值,返回的数组并不含这一项。
  50. 50 $arr = [
  51. 51 ['a', 'b', 'c', 'd'],
  52. 52 ['e', 'f', 'g' ],
  53. 53 ['i', 'j', 'k', 'l']
  54. 54 ];
  55. 55 print_r( array_column( $arr, 1, 3 ) );
  56. 56 // Array
  57. 57 // (
  58. 58 // [d] => b
  59. 59 // [0] => f
  60. 60 // [l] => j
  61. 61 // )
  62. 62 // 当第四列其中一个没有值时,系统会自动补上索引键名
  63. 63 $arr = [
  64. 64 ['a', 'b', 'c', 'd'],
  65. 65 ['e', 'f', 'g' ],
  66. 66 ['i', 'j', 'k', 'l']
  67. 67 ];
  68. 68 print_r( array_column( $arr, 3, 1 ) );
  69. 69 // 和上面一样,当某一列没有值,而又被指定为返回数组的值,这时,返回数组不含这个值
  70. 70 $arr = [
  71. 71 ['a' => 'a', 'b' => 'b', 'c' => 'c'],
  72. 72 ['d' => 'd', 'e' => 'e', 'f' => 'f'],
  73. 73 ['g' => 'g', 'h' => 'h', 'i' => 'i']
  74. 74 ];
  75. 75 print_r( array_column( $arr, 'b', 'c' ) );
  76. 76 // Array
  77. 77 // (
  78. 78 // [c] => b
  79. 79 // )
  80. 80 // 因为指定的这两列都只有一个满足条件,于是返回数组只有一个元素

 

原文链接:http://www.cnblogs.com/zxcv123/p/11801964.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号