最近發現做開發的時間越長,一些PHP函數反而記得不太清楚了,使用起來不是很順手,現每天對PHP常用函數進行彙總,每天更新一小篇彙總內容。
一、數組的鍵值操作函數
1.array_value(array $arr) 返回數組中所有的值,結果爲一個索引數組
2.array_keys(array $arr) 返回數組中的所有的鍵值,結果爲一個索引哈數組
3.in_array(mix $a, array $arr [,boolen]) 判斷$a 是否在$b中存在,如果存在則返回true,否則返回flase。若第三個參數存在並且 爲真同時判斷類型是否相同,默認爲false。
5.array_reverse($arr) 返回一個順序相反的數組
<?php
$arr = array(1,2,'num1'=>5,4,10,'num2'=>8);
$num_1 = 5;
$num_2 = '5';
$a = array_values($arr);//array(1,2,5,4,10,8)
$b = array_keys($arr);// array(0,1,'num1',5,4,'num2')
$c = in_array($num_1, $arr);//true
$d = in_array($num_2, $arr,true);//false
$e = array_flip($arr);//array(1=>0,2=>1,5=>'num1',4=>3,10=>4,8=>'num2')
$f = array_reverse($arr);//array('num2'=>8,10,4,'num1'=>5,2,1);
?>
二、數組中的統計函數
1.count($arr)統計數組的長度 返回一個整數
2.array_count_values($arr) 統計數組所有的值出現的次數,返回一個數組,數組中原數組的值爲鍵名,出現的字數我鍵值
3.array_unique($arr)移除數組中重複的值
$arr = array(1,2,'num1'=>5,4,3,2,10,'num2'=>8,'2',5);
$a = count($arr); //10
$b = array_count_values($arr);//array(1=>1,2=>3,5=>2,4=>1,3=>1,10=>1,8=>1),注意不判斷類型
$c = array_unique($arr);//array(1,2,'num1'=>5,4,3,10,'num2'=>8),注意不判斷類型
三、帶回調的函數
1.array_filter($arr,callback) 用callback函數過來數組$arr1中的單元
<?php
$student = array(
array('name'=>'zhangsan','age'=>20,'sex'=>'男'),
array('name'=>'lisi','age'=>25,'sex'=>'男'),
array('name'=>'mawu','age'=>23,'sex'=>'女'),
array('name'=>'xiaoliu','age'=>21,'sex'=>'男'),
array('name'=>'qige','age'=>30,'sex'=>'女'),
array('name'=>'wanba','age'=>28,'sex'=>'男')
);
function fun($arr){
if($arr['sex'] == '男'){
return true;
}
}
$a = array_filter($student,'fun');
// $a爲
$student = array(
array('name'=>'zhangsan','age'=>20,'sex'=>'男'),
array('name'=>'lisi','age'=>25,'sex'=>'男'),
array('name'=>'xiaoliu','age'=>21,'sex'=>'男'),
array('name'=>'wanba','age'=>28,'sex'=>'男')
);
?>
2.array_map(callback,$arr1, $arr2, $arr3,...)對數組$arr1,$arr2,$arr3...中的單元依次執行callback操
<?php
$student = array(
array('name'=>'zhangsan','age'=>20,'sex'=>'男'),
array('name'=>'lisi','age'=>25,'sex'=>'男'),
array('name'=>'mawu','age'=>23,'sex'=>'女'),
array('name'=>'xiaoliu','age'=>21,'sex'=>'男'),
array('name'=>'qige','age'=>30,'sex'=>'女'),
array('name'=>'wanba','age'=>28,'sex'=>'男')
);
function fun($arr){
$arr['age'] +=5;
return $arr;
}
$a = array_map('fun',$student);
// $a結果
$student = array(
array('name'=>'zhangsan','age'=>25,'sex'=>'男'),
array('name'=>'lisi','age'=>30,'sex'=>'男'),
array('name'=>'mawu','age'=>28,'sex'=>'女'),
array('name'=>'xiaoliu','age'=>26,'sex'=>'男'),
array('name'=>'qige','age'=>35,'sex'=>'女'),
array('name'=>'wanba','age'=>33,'sex'=>'男')
);
?>
3. 3.array_walk(&$arr1,callback[,userdata])對數組$arr1的每個數組單元應用callback函數,成功返回true,失敗返回false;$arr1的單元一般作爲參數傳給callback。常用的情況是,$arr1的值作爲第一個參數,key作爲第二個參數,若usedata存在,則作爲第三個參數$arr=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
function fun($value,$key,$a) {
echo $a."The key $key has the value $value<br />";
}
array_walk($arr,'fun','加個參數');
//輸出結果爲
//加個參數The key a has the value Cat
//加個參數The key b has the value Dog
//加個參數The key c has the value Horse
?>