本文實例講述了PHP數組常用函數。分享給大家供大家參考,具體如下:
統計數組元素的個數和唯一性
1.count()
函數的作用是計算數組中的元素數目或對象中屬性個數。對于數組,返回其元素的個數,對于其他值返回1.
int count(mixed var[,int mode])
第一個參數是必須的,傳人個計算的數組或對象。第二個參數是可選,規定函數的模式是否遞歸地計算多維數組中數組的元素個數,可能的值是0 或1,0為默認值,不檢測多維 數組,為 1則檢測多維數組
示例:
$a=array("a","b","c","d");
echo count($a);//輸出個數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()
函數用于統計數組中所有值出現的次數,該函數只有一個參數
array array_count_values(array input)
參數規定輸入一個數組,返回一個數組,其元素的鍵名是原數組的值,鍵值是該值在原數組中出現的次數
$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()
函數用于刪除數組中重復的值,并返回沒有重復值的新數組
array array_unique(array array)
參數需要接受一個數組,當數組中幾個元素的值相等時,只保留第一個元素,其他元素被刪除,并且返回的新數組中鍵名不變,array_unique()
先將值作為字符串排序,然后對每個值只保留第一遇到的鍵名,接著忽略所有后面的鍵名
示例:
$a=array("a"=>1,"b"=>2,"c"=>1);
print_r(array_unique($a));//輸出 array([a]=>1 [b]=>2)
4.array_filter()
函數用回調函數過濾數組中元素,返回按用戶自定義函數過濾后的數組
array array_filter(array input [,callback callback])
參數:第一參數是必選項,要求輸入一個被過濾的數組,第二參數可選,將用戶自定義的函數名以字符串形式傳入,如果自定義過濾函數返回true,則被操作的數組的當前值就會被包含在返回的結果數組中,并將結果組成一個新數組,如果原數組是一個關聯數組,則鍵名保持不變。
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()
函數對數組中的每個元素應用回調函數處理,如果成功返回true,否則返回false
bool array_walk( array array,callback funcname [,mixed userdata])
第一個參數是必須,要求輸入一個被指定的回調函數處理的數組,第二個參數傳人用戶定義的回調函數,用于操作傳人第一參數的數組
示例:
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 是一個引用數組
6.array_map()
函數可以處理多個數組,將回調函數作用到給定數組的元素上,返回用戶自定義函數作用后數組。
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)
)
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》、《php字符串(string)用法總結》、《php常用函數與技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》及《PHP數學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- php數組函數序列之array_unique() - 去除數組中重復的元素值
- php數組函數序列之array_keys() - 獲取數組鍵名
- php使用array_rand()函數從數組中隨機選擇一個或多個元素
- php數組函數序列之array_key_exists() - 查找數組鍵名是否存在
- php數組查找函數in_array()、array_search()、array_key_exists()使用實例
- php中刪除數組的第一個元素和最后一個元素的函數
- php中使用array_filter()函數過濾空數組的實現代碼
- php 數組的合并、拆分、區別取值函數集
- php 數組操作(增加,刪除,查詢,排序)等函數說明