PHP中的數組處理函數使用樣本總結

來源:互聯網
上載者:User
  1. #改變數組鍵的大小寫
  2. $arr1=array("a"=>"Lamp","db"=>"database","LANGUAGE"=>"PHP");
  3. print_r(array_change_key_case($arr1,CASE_UPPER));
  4. echo "
    ";
  5. print_r(array_change_key_case($arr1,CASE_LOWER));
  6. echo "
    ";
  7. #將一個數組分割成多個 第三個參數設定是否保留鍵
  8. $arr2=array('a','b','c','d','e','f','g');
  9. print_r(array_chunk($arr2,2,true));
  10. echo "
    ";
  11. print_r(array_chunk($arr2,2,false));
  12. echo "
    ";
  13. #array array_diff_assoc ( array $array1 , array $array2 [, array $ ... ] ) 返回一個數組,
  14. #該數組包括了所有在 array1 中但是不在任何其它參數數組中的值
  15. #鍵不同也算
  16. $arr3=array('a'=>'green','b'=>'brown','c'=>'red');
  17. $arr4=array('a'=>'green','yellow','red');
  18. print_r(array_diff_assoc($arr3,$arr4));
  19. echo "
    ";
  20. #array_diff ( array $array1 , array $array2 [, array $ ... ] )
  21. #返回一個數組,該數組包括了所有在 array1 中但是不在任何
  22. #其它參數數組中的值,鍵不同不算
  23. print_r(array_diff($arr3,$arr4));
  24. echo "
    ";
  25. #array_fill ( int $start_index , int $num , mixed $value )
  26. #用 value參數的值將一個數組填充 num 個條目,
  27. #鍵名由 start_index 參數指定的開始。
  28. print_r(array_fill(-5,8,"banana"));
  29. echo "
    ";
  30. #array_flip ( array $trans )
  31. #返回一個反轉後的 array,例如 trans 中的鍵名變成了值,
  32. #而 trans 中的值成了鍵名。
  33. $arr5=array('a'=>'1',"b"=>"2","c","d","e");
  34. print_r(array_flip($arr5));
  35. echo "
    ";
  36. #array_map ( callback $callback , array $arr1 [, array $... ] )
  37. #返回一個數組,該數組包含了 arr1 中的所有單元經過 callback 作用過
  38. #之後的單元。callback接受的參數數目應該和傳遞給 array_map()
  39. #函數的數組數目一致。
  40. function cube($n){
  41. return $n*$n;
  42. }
  43. $arr6=array(1,2,3,4,5);
  44. print_r(array_map("cube",$arr6));
  45. echo "
    ";
  46. #array_merge_recursive ( array $array1 [, array $... ] )
  47. #將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組
  48. #的後面。返回作為結果的數組。如果輸入的數組中有相同的字串鍵名,
  49. #則這些值會被合并到一個數組中去,這將遞迴下去,因此如果一個值本身
  50. #是一個數組,本函數將按照相應的條目把它合并為另一個數組。然而,如
  51. #果數組具有相同的數組鍵名,後一個值將不會覆蓋原來的值,而是附加到
  52. #後面。
  53. $arr7=array("color"=>array("favorite"=>"red"),5);
  54. $arr8=array(10,array("favorite"=>"yellow","blue"));
  55. print_r(array_merge_recursive($arr7,$arr8));
  56. echo "
    ";
  57. #array_reduce ( array $input , callback $function [, int $initial ]
  58. #將回呼函數 function 迭代地作用到 input 數組中的每一個單元中,從而將數組
  59. #簡化為單一的值。如果指定了選擇性參數 initial,該參數將被當成是數組中的第
  60. #一個值來處理,或者如果數組為空白的話就作為最終傳回值。如果數組為空白並且沒
  61. #有傳遞 initial 參數,array_reduce() 返回 NULL。
  62. function rsum($v,$w){
  63. $v+=$w;
  64. return $v;
  65. }
  66. function rmul($v,$w){
  67. $v*=$w;
  68. return $v;
  69. }
  70. $a=array(1,2,3,4,5);
  71. $x=array();
  72. $b=array_reduce($a,"rsum");
  73. $c=array_reduce($a,"rmul",10);
  74. $d=array_reduce($x,"rsum",1);
  75. echo $b."\t\t".$c."\t\t".$d."\n";
  76. echo "
    ";
  77. #array_replace ( array &$array , array &$array1 [, array &$array2 [, array &$... ]] )
  78. #函數使用後面數組元素的值替換第一個 array 數組的值。如果一個鍵存在於第一
  79. #個數組同時也存在於第二個數組,它的值將被第二個數組中的值替換。如果一個
  80. #鍵存在於第二個數組,但是不存在於第一個數組,則會在第一個數組中建立這個
  81. #元素。如果一個鍵僅存在於第一個數組,它將保持不變。如果傳遞了多個替換數
  82. #組,它們將被按順序依次處理,後面的數組將覆蓋之前的值。
  83. $base=array("orange","banana","apple","raspberry");
  84. $replacements=array(0=>"pineapple",4=>"cherry");
  85. $replacements2=array(0=>"grape");
  86. #print_r(array_replace($base,$replacements,$replacements2));
  87. #echo "
    ";
  88. #array_splice ( array &$input , int $offset [, int $length [, array $ replacement ]] )
  89. #把 input 數組中由 offset 和 length指定的單元去掉,如果提供了 replacement
  90. # 參數,則用 replacement數組中的單元取代。返回一個包含有被移除單元的數組
  91. # 。注意 input 中的數字鍵名不被保留。如果省略 length,則移除數組中從
  92. # offset到結尾的所有部分。如果指定了 length並且為正值,則移除這麼多單元
  93. # 。如果指定了 length並且為負值,則移除從 offset 到數組末尾倒數 length
  94. # 為止中間所有的單元。小竅門:當給出了 replacement 時要移除從 offset到
  95. # 數組末尾所有單元時,用 count($input) 作為 length。
  96. $input=array("red","green","blue","yellow");
  97. array_splice($input,1,-1);
  98. print_r($input);
  99. echo "
    ";
  100. #key ( array &$array )
  101. #返回數組中當前單元的鍵名。
  102. $fruit=array("fruit1"=>"apple","fruit2"=>"orange","fruit3"=>"grape",
  103. "fruit4"=>"apple","fruit5"=>"apple");
  104. while($fruit_name=current($fruit)){
  105. if($fruit_name=='apple'){
  106. echo key($fruit)."
    ";
  107. }
  108. next($fruit);
  109. }
  110. echo "
    ";
  111. ?>
複製代碼
PHP
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.