程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 深入學習PHP數組函數使用方法

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

編輯:關於PHP編程

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. //實現學生成績排名  
  10. $grade=array("score"=>array(70,95,70.0,60,"70"),  
  11. "name"=>array("ZhangSan","LiSi","WangWu",  
  12. "ZhaoLiu","LiuQi"));  
  13. array_multisort($grade["score"],SORT_NUMERIC,SORT_DESC,  
  14. //將分數作為數值,由高到低排序  
  15. $grade["name"],SORT_STRING,SORT_ASC);  
  16. //將名字作為字符串,由小到大排序  
  17. ?> 
  18. //輸出結果  
  19.  
  20. array(  
  21. 'score'=> 
  22. array(  
  23. 0=>95,  
  24. 1=>'70',  
  25. 2=>70,  
  26. 3=>70,  
  27. 4=>60,  
  28. ),  
  29. 'name'=> 
  30. array(  
  31. 0=>'LiSi',  
  32. 1=>'LiuQi',  
  33. 2=>'WangWu',  
  34. 3=>'ZhangSan',  
  35. 4=>'ZhaoLiu',  
  36. ),  
  37. )  

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

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

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

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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved