PHP数组操作的实例分析

本文实例分析了PHP数组操作,分享给大家供大家参考,具体如下,PHP的数组是很重要的一部分,操作示例如下:

  1. <?php
  2. functionbr() {
  3. echo'<br />===============================================<br />';
  4. }
  5. $arr1=array();
  6. $arr1[] ='x';
  7. $arr1[] ='a';
  8. $arr1[] ='e';
  9. $arr1[] ='c';
  10. $arr1[] ='h';
  11. // 添加数组
  12. array_push($arr1, 3, 23, 55);
  13. // 数组长度
  14. echo'the size of array is :'.count($arr1).'<br />';
  15. // 反转
  16. var_dump(array_reverse($arr1));
  17. // 排序 - 直接作用于数组
  18. sort($arr1);
  19. var_dump($arr1);
  20. // 排序 - 按字符串排序
  21. sort($arr1, SORT_STRING);
  22. var_dump($arr1);
  23. // 范围
  24. $arr2= range('a','h');
  25. // 连接
  26. $arrTemp1= implode('-',$arr2);
  27. echo$arrTemp1;
  28. echo'<br />';
  29. // 切割
  30. echo'['.implode('][',array_reverse(explode('-',$arrTemp1) )).']';
  31. // 数组合并,会重排索引
  32. $arr3=array_merge($arr1,$arr2);
  33. var_dump($arr3);
  34. // 删除数组元素
  35. array_shift($arr3);
  36. array_pop($arr3);
  37. unset($arr3[4]);
  38. array_splice($arr3, 6, 2);
  39. var_dump($arr3);
  40. // 抽取数组,原数组不变
  41. $arr4=array_slice($arr3, 2,3);
  42. var_dump($arr4);
  43. // 关联数组
  44. $fruits=array('red'=>'apple','yellow'=>'banana','green'=>'lime');
  45. // 数组键
  46. $colors=array_keys($fruits);
  47. // 数组值
  48. $fla=array_values($fruits);
  49. var_dump($colors);
  50. var_dump($fla);
  51. // 查找
  52. echoin_array('green',$colors);
  53. echo'<br />';
  54. echoin_array('black',$colors)?'in':'not in';
  55. echo'<br />';
  56. echoarray_key_exists('yellow',$fruits);
  57. echo'<br />';
  58. // 按键排序
  59. ksort($fruits);
  60. var_dump($fruits);
  61. // 按值排序
  62. asort($fruits);
  63. var_dump($fruits);
  64. // 循环
  65. foreach($fruitsas$key=>$value) {
  66. echo$key.' => '.$value.'<br />';
  67. }
  68. echo'<br />';
  69. $f=$fruits;
  70. while($elem= each($f)) {
  71. echo$elem['key'].' -- '.$elem['value'].'<br />';
  72. }
  73. echo'<br />';
  74. $arr5=array(2, 8, 100, 33, -18);
  75. // 查找最大最小值
  76. echomax($arr5);
  77. echo'<br />';
  78. echomin($arr5);
  79. echo'<br />';
  80. echoarray_sum($arr5);
  81. echo'<br />';
  82. functiondouble($x) {
  83. echo($x* 2).' ';
  84. }
  85. // 数组元素应用函数
  86. array_walk($arr5,'double');
  87. functioncheck($x) {
  88. return$x> 20;
  89. }
  90. // 筛选
  91. var_dump(array_filter($arr5,'check'));
  92. $arr6= range(1,10);
  93. echo'random number: '.array_rand($arr6);
  94. //统计
  95. //count(); sizeof(); array_count_values();
  96. $arr7=array(4,5,1,2,3,1,2,1);
  97. $ac=array_count_values($arr7);
  98. // 统计每个value出现的次数
  99. var_dump($ac);
  100. $arr8=array('key1'=>'v1','key2'=>'v2','key3'=>'v3');
  101. extract($arr8);//phpfensi.com
  102. echo"$key1 $key2 $key3";
  103. //填补
  104. $input=array(12,10,9);
  105. var_dump(array_pad($input, 5, 0));
  106. var_dump(array_pad($input, -5, 0));
  107. ?>