PHP開發之自定義函式及陣列

edithfang發表於2015-03-17
一、自定義函式

自定義函式就是我們自己定義的函式,在PHP中自定義函式格式如下:

function funname(arg1, arg2, arg3......){

//TODO

return values;

}
<?php 
function fun($m, $n){ 
if($m==0 || $n==0){ 
return 0; 
}else{ 
$a=$m*$n; 
return $a; 
} 
} 

$p=2; 
$h=3; 
echo $p."*".$h."=".fun($p,$h); 
?>

輸出結果:



下面再舉一個可變引數的函式

<?php 
/*
function fun($m, $n){
if($m==0 || $n==0){
return 0;
}else{
$a=$m*$n;
return $a;
}
}

$p=2;
$h=3;
echo $p."*".$h."=".fun($p,$h); */ 

function fun($m, $n=1, $x=2){ 
$a=$m*$n*$x; 
return $a; 
} 

$p=2; 
echo fun($p)."<br>";          // 2*1*2 = 4 
echo fun($p, 3)."<br>";       // 2*3*2 = 12 
echo fun($p, 3, 3)."<br>";    // 2*3*3 = 18 
?>




再來看看自定義函式引用傳遞

<?php  
    /*   
    function fun($m, $n){ 
        if($m==0 || $n==0){ 
            return 0; 
        }else{ 
            $a=$m*$n; 
            return $a; 
        } 
    } 

    $p=2; 
    $h=3; 
    echo $p."*".$h."=".fun($p,$h);  
    */  

    /* 
    function fun($m, $n=1, $x=2){ 
        $a=$m*$n*$x; 
        return $a; 
    } 

    $p=2; 
    echo fun($p)."<br>";          // 2*1*2 = 4 
    echo fun($p, 3)."<br>";       // 2*3*2 = 12 
    echo fun($p, 3, 3)."<br>";    // 2*3*3 = 18 
    */  

    function fun(&$n){  
        $n=$n*$n;  
    }  
    $p=2;  
    fun($p);  
    echo $p;  
?>



二、陣列定義賦值

1、陣列基本寫作格式

簡單形式:array(值1, 值2, 值3, …….)

array(“aa”, 12, true, 2.2, “test”, 50); //通過陣列下標獲得資料

完整形式:array(鍵1=>值1, 鍵2=>值2, ……)

array(“title”=>”aa”, “age”=>20);  //只能通過鍵名獲得資料

2、建立陣列的方式

//第一種  
$arr1=array(11, 22, 33, "44");  
//第二種  
$arr2=array('a'=>'11', 'b'=>'22');  
//第三種  
$arr3[0]='20';  
$arr3[1]='30';

三、陣列操作

1、修改

$arr=array(11, 22, 33, 44);

$arr[0]=55;  //陣列變為$arr=array(55, 22, 33, 44);

2、刪除


$arr=array(11, 22, 33, 44);

unset($arr[0]);    //陣列變為$arr=array(22, 33, 44);

3、使用

$arr=array(11, 22, 33, 44);

echo $arr[0];

$arr=array('a'=>11, 'b'=>22, 'c'=>33, 'd'=>44);

echo $arr['b']];

4、遍歷

$arr=array('a'=>11, 'b'=>22, 'c'=>33, 'd'=>44);

foreach($arr as $value){ //無鍵名

echo $value."<br>";

}

foreach($arr as $id=>$value){  //輸出鍵和值

echo $id."__".$value."<br>";

}

四、二維陣列

$arr=array(array("1","11","111"), array("2","22","222"));

echo $arr[1][2];

五、陣列函式

(1)array_change_key_case(array, case)

array:必需,陣列。

case:可選,CASE_LOWER(預設值,小寫字母返回陣列的鍵),CASE_UPPER(大寫字母返回陣列的鍵)

作用:將陣列的所有的 KEY 都轉換為大寫或小寫。

<?php 
2.
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); 
3.
print_r(array_change_key_case($a,CASE_UPPER)); 
4.
?>  
5.
結果:Array ( [A] => Cat [B] => Dog [C] => Horse )


(2)array_chunk(array,size,preserve_key)

array:必需。

size:必需,規定每個新陣列包括多少元素。

preserve_key:可選,true(保留鍵名),false(新索引)

作用:把一個陣列分成新的陣列塊。

<?php  
    //array_chunk(array,size,preserve_key)  

    $a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");  
    print_r(array_chunk($a1,2));  

    $a2=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");  
    print_r(array_chunk($a2,2,true));  

?>   
結果:


Array ( [0] => Array ( [0] => Cat [1] => Dog ) [1] => Array ( [0] => Horse [1] => Cow ) )

Array ( [0] => Array ( [a] => Cat  => Dog ) [1] => Array ( [c] => Horse [d] => Cow ) )

…….

像這樣的函式很多,可以在用的時候再查,列表如下(php代表第一次出現版本)



評論(1)

相關文章