深入學習PHP數組函數使用方法_PHP教程

來源:互聯網
上載者:User
PHP數組函數還是比較常用的,於是我研究了一下PHP數組函數,在這裡拿出來和大家分享一下,希望對大家有用。今天我們學習PHP數組函數,數組是一種資料類型,它的使用頻率相當高,學會處理數組會讓你做網站時得心應手。

舉個例子:你的網站資料庫裡存有大裡的文章,現在你想在一個頁面上顯示20條娛樂新聞的標題,這20條標題從資料庫裡取出來後你想用20個變數表示嗎?我想你不會這麼笨吧,那麼用什麼變數能完全接收這20條資料呢?這就要用到陣列變數。什麼是數組呢?數組實際上是一個資料集合,相當於是一個資料容器,很多資料存放在裡面,我們可以按一定方法存進去或取出來,還可以對它裡面的資料進行排序等各種操作,還可以檢查裡面有沒有我們想要的資料等等。

1.array_multisort()對多個數組或多維陣列進行排序可以用來一次對多個數組進行排序或者根據某一維對多維陣列進行排序。排序時保留原有的鍵名關聯,實現的功能和SQL中的ORDERBY差不多。

 
  1. $ar1=array("10",100,100,"a");
  2. $ar2=array(1,3,"2",1);
  3. array_multisort($ar1,$ar2);
  4. ?>
  5. //返回結果(保持了原來數組的關聯性)
  6. $ar1=Array([0]=>10[1]=>a[2]=>100[3]=>100)
  7. $ar2=Array([0]=>1[1]=>1[2]=>2[3]=>3)
  8. //實現學產生績排名
  9. $grade=array("score"=>array(70,95,70.0,60,"70"),
  10. "name"=>array("ZhangSan","LiSi","WangWu",
  11. "ZhaoLiu","LiuQi"));
  12. array_multisort($grade["score"],SORT_NUMERIC,SORT_DESC,
  13. //將分數作為數值,由高到低排序
  14. $grade["name"],SORT_STRING,SORT_ASC);
  15. //將名字作為字串,由小到大排序
  16. ?>
  17. //輸出結果
  18. array(
  19. 'score'=>
  20. array(
  21. 0=>95,
  22. 1=>'70',
  23. 2=>70,
  24. 3=>70,
  25. 4=>60,
  26. ),
  27. 'name'=>
  28. array(
  29. 0=>'LiSi',
  30. 1=>'LiuQi',
  31. 2=>'WangWu',
  32. 3=>'ZhangSan',
  33. 4=>'ZhaoLiu',
  34. ),
  35. )

2.array_rand()和shuffle(),一個是從數組中隨機的取出一個或多個值,另一個是將數組中的值的順序打亂,然後再可以從中取出值,它們都實現從數組中隨機取出資料的功能,可以用於實現諸如抽獎之類的功能。

3.array_reduce()將回呼函數function迭代地作用到input數組中的每一個單元中,從而將數組簡化為單一的值。如果指定了選擇性參數initial,該參數將被當成是數組中的第一個值來處理,或者如果數組為空白的話就作為最終傳回值。

 
  1. php
  2. functionrsum($v,$w){
  3. $v+=$w;
  4. return$v;
  5. }
  6. functionrmul($v,$w){
  7. $v*=$w;
  8. return$v;
  9. }
  10. $a=array(1,2,3,4,5);
  11. $x=array();
  12. //實現array_sum()功能
  13. $b=array_reduce($a,"rsum");//115=1+2+3+4+5
  14. $c=array_reduce($a,"rmul",10);//11200=1*2*3*4*5*10
  15. $d=array_reduce($x,"rsum",1);//1
  16. ?>

這個函數可以實現求一個數組的和(積,差等功能)


http://www.bkjia.com/PHPjc/446540.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446540.htmlTechArticlePHP數組函數還是比較常用的,於是我研究了一下PHP數組函數,在這裡拿出來和大家分享一下,希望對大家有用。今天我們學習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.