找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2067|回复: 0

[教程] PHP数组实例说明

[复制链接]
发表于 2013-4-2 20:54:16 | 显示全部楼层 |阅读模式 来自 中国–广东–揭阳
  1. PHP4.0**有超过30个新的数组相关函数。其中很多通用函数允许你检查给定数组中是否存在特定对象、对数组元素计数、增加或删除元素,或对元素排序。
  2.    如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”——因为你将在$namesArray中寻找一个并不存在的“Alber ”。
  3. <?
  4. $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");
  5. $lookingFor = "Albert";
  6. if (in_array($lookingFor, $namesArray)) {
  7. echo "You've found it!";
  8. } else {
  9. echo "Not found in this array!";
  10. }
  11. ?>
  12. 如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You've found it!”——因为“Mary”是$namesArray的一部分。
  13. 如果希望对数组元素计数,你可以使用count()函数:
  14. <?
  15. $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");
  16. $count = count($namesArray); ?>
  17. $count值将为7。
  18. 你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。
  19. 让我们从对已存在数组的末尾增添元素开始,使用函数array_push():
  20. <?
  21. /* 创建原始数组 */
  22. $fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
  23. /* 加入到原始数组中 */
  24. array_push($fruitArray, "grape", "pineapple", "tomato");
  25. /* 通过其键值列出每个元素*/
  26. while (list($key,$value) = each($fruitArray)) {
  27. echo "$key : $value
  28. ";
  29. }
  30. ?>
  31. 这将显示:
  32. 0 : apple
  33. 1 : orange
  34. 2 : banana
  35. 3 : kiwi
  36. 4 : pear
  37. 5 : grape
  38. 6 : pineapple
  39. 7 : tomato
  40. 当你需要对数组开头添加元素时,代码非常类似。不同处只是函数名:array_unshift() 而不是array_push()。
  41. <?
  42. /* 创建原始数组 */
  43. $fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
  44. /* 加入到原始数组中 */
  45. array_unshift($fruitArray, "grape", "pineapple", "tomato");
  46. /* 通过其键值列出每个元素*/
  47. while (list($key,$value) = each($fruitArray)) {
  48. echo "$key : $value
  49. ";
  50. }
  51. ?>
  52. 这将显示:
  53. 0 : grape
  54. 1 : pineapple
  55. 2 : tomato
  56. 3 : apple
  57. 4 : orange
  58. 5 : banana
  59. 6 : kiwi
  60. 7 : pear
  61. 函数array_merge()合并两个或更多的数组。
  62. <?
  63. /* 创建原始数组 */
  64. $fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
  65. <? /* 创建第二个数组 */
  66. $vegArray = array("carrot", "green beans", "asparagus", "artichoke", "corn");
  67. /* 合并为一个数组 */
  68. $goodfoodArray = array_merge($fruitArray, $vegArray);
  69. /* 通过其键值列出每个元素*/
  70. while (list($key,$value) = each($goodfoodArray)) {
  71. echo "$key : $value
  72. ";
  73. }
  74. ?>
  75. 这将显示:
  76. 0 : apple
  77. 1 : orange
  78. 2 : banana
  79. 3 : kiwi
  80. 4 : pear
  81. 5 : carrot
  82. 6 : green beans
  83. 7 : asparagus
  84. 8 : artichoke
  85. 9 : corn
  86. 现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函数array_pop()从一数组末尾删除一个元素。如果使用函数 array_shift(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行 pop 或 shift时。
  87. 使用array_pop()函数从数组末尾删除一个值:
  88. <?
  89. /* 创建一数组*/
  90. $fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
  91. /* 在末尾弹出某值 */
  92. $popped = array_pop($fruitArray);
  93. /* 列出新数组内容,以及弹出的值*/
  94. while (list($key,$value) = each($fruitArray)) {
  95. echo "$key : $value
  96. ";
  97. }
  98. echo "
  99. and finally, in $popped: $popped";
  100. ?>
  101. 这将显示:
  102. 0 : apple
  103. 1 : orange
  104. 2 : banana
  105. 3 : kiwi
  106. and finally, in $popped: pear
  107. Next, delete an element from the end of an array: ???????????
  108. 下面,从数组末尾删除某值:
  109. <?
  110. /* 创建一数组*/
  111. $fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
  112. /* 从数组头部移出某值 */
  113. $shifted = array_shift($fruitArray);
  114. /* 列出新数组的内容以及移出的值*/
  115. while (list($key,$value) = each($fruitArray)) {
  116. echo "$key : $value
  117. ";
  118. }
  119. echo "
  120. and finally, in $shifted: $shifted";
  121. ?>
  122. 这将显示:
  123. 0 : orange
  124. 1 : banana
  125. 2 : kiwi
  126. 3 : pear
  127. and finally, in $shifted: apple
  128. 有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程:
  129. <?
  130. /* 创建原始数组 */
  131. $fruitArray = array("apple", "orange", "banana", "kiwi", "pear");
  132. /* 排序 */
  133. sort($fruitArray);
  134. /* 对其重设以正确从头到尾显示数组 */
  135. /* 通过其键值列出每个元素*/
  136. while (list($key,$value) = each($fruitArray)) {
  137. echo "$key : $value
  138. ";
  139. }
  140. ?>
  141. 这将显示:
  142. 0 : apple
  143. 1 : banana
  144. 2 : kiwi
  145. 3 : orange
  146. 4 : pear
复制代码

评分

参与人数 1金币 +5 收起 理由
猫性男孩 + 5 赞一个!

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 12:51 , Processed in 0.050513 second(s), 13 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表