PHP數組函數還是比較常用的,於是我研究了一下PHP數組函數,在這裡拿出來和大家分享一下,希望對大家有用。今天我們學習PHP數組函數,數組是一種數據類型,它的使用頻率相當高,學會處理數組會讓你做網站時得心應手。
1.array_multisort()對多個數組或多維數組進行排序可以用來一次對多個數組進行排序或者根據某一維對多維數組進行排序。排序時保留原有的鍵名關聯,實現的功能和SQL中的ORDERBY差不多。
- $ar1=array("10",100,100,"a");
- $ar2=array(1,3,"2",1);
- array_multisort($ar1,$ar2);
- ?>
- //返回結果(保持了原來數組的關聯性)
- $ar1=Array([0]=>10[1]=>a[2]=>100[3]=>100)
- $ar2=Array([0]=>1[1]=>1[2]=>2[3]=>3)
- //實現學生成績排名
- $grade=array("score"=>array(70,95,70.0,60,"70"),
- "name"=>array("ZhangSan","LiSi","WangWu",
- "ZhaoLiu","LiuQi"));
- array_multisort($grade["score"],SORT_NUMERIC,SORT_DESC,
- //將分數作為數值,由高到低排序
- $grade["name"],SORT_STRING,SORT_ASC);
- //將名字作為字符串,由小到大排序
- ?>
- //輸出結果
- array(
- 'score'=>
- array(
- 0=>95,
- 1=>'70',
- 2=>70,
- 3=>70,
- 4=>60,
- ),
- 'name'=>
- array(
- 0=>'LiSi',
- 1=>'LiuQi',
- 2=>'WangWu',
- 3=>'ZhangSan',
- 4=>'ZhaoLiu',
- ),
- )
2.array_rand()和shuffle(),一個是從數組中隨機的取出一個或多個值,另一個是將數組中的值的順序打亂,然後再可以從中取出值,它們都實現從數組中隨機取出數據的功能,可以用於實現諸如抽獎之類的功能。
3.array_reduce()將回調函數function迭代地作用到input數組中的每一個單元中,從而將數組簡化為單一的值。如果指定了可選參數initial,該參數將被當成是數組中的第一個值來處理,或者如果數組為空的話就作為最終返回值。
- <?php
- functionrsum($v,$w){
- $v+=$w;
- return$v;
- }
- functionrmul($v,$w){
- $v*=$w;
- return$v;
- }
- $a=array(1,2,3,4,5);
- $x=array();
- //實現array_sum()功能
- $b=array_reduce($a,"rsum");//115=1+2+3+4+5
- $c=array_reduce($a,"rmul",10);//11200=1*2*3*4*5*10
- $d=array_reduce($x,"rsum",1);//1
- ?>
這個函數可以實現求一個數組的和(積,差等功能)