php常用函數之數組(一)

最近發現做開發的時間越長,一些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。

        4.array_flip(array $arr交換數組的鍵和值,返回值仍然爲一個數組
        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

?>

發佈了14 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章