本文實例講述了PHP數(shù)組常用函數(shù)。分享給大家供大家參考,具體如下:
統(tǒng)計數(shù)組元素的個數(shù)和唯一性
1.count()
函數(shù)的作用是計算數(shù)組中的元素數(shù)目或?qū)ο笾袑傩詡€數(shù)。對于數(shù)組,返回其元素的個數(shù),對于其他值返回1.
int count(mixed var[,int mode])
第一個參數(shù)是必須的,傳人個計算的數(shù)組或?qū)ο?。第二個參數(shù)是可選,規(guī)定函數(shù)的模式是否遞歸地計算多維數(shù)組中數(shù)組的元素個數(shù),可能的值是0 或1,0為默認(rèn)值,不檢測多維 數(shù)組,為 1則檢測多維數(shù)組
示例:
$a=array("a","b","c","d");
echo count($a);//輸出個數(shù)4
$b=array("a"=>array(1,2,3),"b"=>array(4,5,6));
echo count($b,1);//輸出 8
echo count($b);//輸出 2
2.array_count_values()
函數(shù)用于統(tǒng)計數(shù)組中所有值出現(xiàn)的次數(shù),該函數(shù)只有一個參數(shù)
array array_count_values(array input)
參數(shù)規(guī)定輸入一個數(shù)組,返回一個數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)
$array=array(1,"a",1,"b","a");
$newarray=array_count_values($array);
print_r($newarray);//輸出array([1]=>2 [a]=>2 [b]=>1)
3.array_unique()
函數(shù)用于刪除數(shù)組中重復(fù)的值,并返回沒有重復(fù)值的新數(shù)組
array array_unique(array array)
參數(shù)需要接受一個數(shù)組,當(dāng)數(shù)組中幾個元素的值相等時,只保留第一個元素,其他元素被刪除,并且返回的新數(shù)組中鍵名不變,array_unique()
先將值作為字符串排序,然后對每個值只保留第一遇到的鍵名,接著忽略所有后面的鍵名
示例:
$a=array("a"=>1,"b"=>2,"c"=>1);
print_r(array_unique($a));//輸出 array([a]=>1 [b]=>2)
4.array_filter()
函數(shù)用回調(diào)函數(shù)過濾數(shù)組中元素,返回按用戶自定義函數(shù)過濾后的數(shù)組
array array_filter(array input [,callback callback])
參數(shù):第一參數(shù)是必選項,要求輸入一個被過濾的數(shù)組,第二參數(shù)可選,將用戶自定義的函數(shù)名以字符串形式傳入,如果自定義過濾函數(shù)返回true,則被操作的數(shù)組的當(dāng)前值就會被包含在返回的結(jié)果數(shù)組中,并將結(jié)果組成一個新數(shù)組,如果原數(shù)組是一個關(guān)聯(lián)數(shù)組,則鍵名保持不變。
function myFun($var){
if($var % 2==0){
return true;
}
}
$array= array("a"=>1,"b"=>2,"c"=>3,"d"=>4);
print_r($array,"myFun");//輸出 array([b]=>2 [d]=>4)
5.array_walk()
函數(shù)對數(shù)組中的每個元素應(yīng)用回調(diào)函數(shù)處理,如果成功返回true,否則返回false
bool array_walk( array array,callback funcname [,mixed userdata])
第一個參數(shù)是必須,要求輸入一個被指定的回調(diào)函數(shù)處理的數(shù)組,第二個參數(shù)傳人用戶定義的回調(diào)函數(shù),用于操作傳人第一參數(shù)的數(shù)組
示例:
function myFunc1($value,$key){
echo "key=$key value=$value"
}
$a=array("a"=>"lin1","b"=>"lin2","c"=>"lin3");
array_walk($a,"myFunc1");
function myFunc2($value,$key,$str){
echo "$key $p $value";
}
array_walk($a,"myFunc2");
function myFunc3($value,$key){
$value="lin.su";
}
array_walk($a,"myFunc3");
print_r($a);//$a 是一個引用數(shù)組
6.array_map()
函數(shù)可以處理多個數(shù)組,將回調(diào)函數(shù)作用到給定數(shù)組的元素上,返回用戶自定義函數(shù)作用后數(shù)組。
array array_map(callback callback,array arr1[,arry ....]
示例:
function myFunc($v1,$v2){
if($v1==$v2){
return "same";
}
return "different";
}
$a=array(1,2,3);
$b=array(1,4,3);
print_r(array_map("myFunc",$a,$b));//輸出 array([0]=>same [1]=>difference [2]=>same)
print_r(array_map(null,$a,$b));
輸出:
array(
[0]=>array([0]=>1 [1]=>2 [2]=>3)
[1]=>array([0]=>1 [1]=>2 [2]=>3)
)
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》及《PHP數(shù)學(xué)運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- php數(shù)組函數(shù)序列之a(chǎn)rray_unique() - 去除數(shù)組中重復(fù)的元素值
- php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
- php使用array_rand()函數(shù)從數(shù)組中隨機(jī)選擇一個或多個元素
- php數(shù)組函數(shù)序列之a(chǎn)rray_key_exists() - 查找數(shù)組鍵名是否存在
- php數(shù)組查找函數(shù)in_array()、array_search()、array_key_exists()使用實例
- php中刪除數(shù)組的第一個元素和最后一個元素的函數(shù)
- php中使用array_filter()函數(shù)過濾空數(shù)組的實現(xiàn)代碼
- php 數(shù)組的合并、拆分、區(qū)別取值函數(shù)集
- php 數(shù)組操作(增加,刪除,查詢,排序)等函數(shù)說明