經驗之談PHP數組函數總結_PHP教程

來源:互聯網
上載者:User
這幾天在網上看了很多有關PHP數組函數的相關知識,覺得孔老夫子的“溫故而知新”果然不假,這裡是我總結的一些經驗,希望對大家有協助。

PHP中的數組實際上是一個有序圖,圖是一種把values映射到keys的類型。此類型在很多方面做了最佳化,因此你可以把它當成真正的數組來使用,或列表(向量),散列表(是圖的一種實現),字典,集合,棧,隊列以及更多可能性。因為可以用另一個PHP數組作為值,也可以很容易地類比樹。解釋這些結構超出了本手冊的範圍,但對於每種結構你至少會發現一個例子。要得到這些結構的更多資訊,我們建議你參考有關此廣闊主題的外部著作,以下特記下我的一些PHP數組函數體會:

1.將一個1維數組分割成2維數組array_chunk()

 
  1. $input_array=array('a','b','c','d','e');
  2. print_r(array_chunk($input_array,2));

2.比較2個數組,array_diff_assoc()或者array_diff(),如果傳回值為空白,表示兩個數組相同,否則就不同。

3.用一個函數來過濾數組中的數值array_filter()

 
  1. functionodd($var){
  2. return($var%2==1);
  3. }
  4. functioneven($var){
  5. return($var%2==0);
  6. }
  7. $arrayarray1=array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
  8. $arrayarray2=array(6,7,8,9,10,11,12);
  9. echo"Odd:n";
  10. print_r(array_filter($array1,"odd"));
  11. echo"Even:n";
  12. print_r(array_filter($array2,"even"));
  13. ?>

4.array_map()將回呼函數作用到給定數組的單元上,它的參數可以是一個數組,也可以是多個數組,回呼函數的參數必須要和調用它的參數相同。

 
  1. //單個參數的例子,將數組中的每個值,乘以它的3次方
  2. functioncube($n){
  3. return$n*$n*$n;
  4. }
  5. $a=array(1,2,3,4,5);
  6. $b=array_map("cube",$a);
  7. print_r($b);
  8. ?>
  9. //多個數組參數的例子
  10. functionshow_Spanish($n,$m){
  11. return"Thenumber$niscalled$minSpanish";
  12. }
  13. functionmap_Spanish($n,$m){
  14. returnarray($n=>$m);
  15. }
  16. $a=array(1,2,3,4,5);
  17. $b=array("uno","dos","tres","cuatro","cinco");
  18. $c=array_map("show_Spanish",$a,$b);
  19. print_r($c);
  20. $d=array_map("map_Spanish",$a,$b);
  21. print_r($d);
  22. ?>
  23. //輸出結果
  24. //printoutof$c
  25. Array
  26. (
  27. [0]=>Thenumber1iscalledunoinSpanish
  28. [1]=>Thenumber2iscalleddosinSpanish
  29. [2]=>Thenumber3iscalledtresinSpanish
  30. [3]=>Thenumber4iscalledcuatroinSpanish
  31. [4]=>Thenumber5iscalledcincoinSpanish
  32. )

以上就是有關PHP數組函數的相關總結,大家要熟記啊。


http://www.bkjia.com/PHPjc/446539.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446539.htmlTechArticle這幾天在網上看了很多有關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.