您好,登錄后才能下訂單哦!
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)
)
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。