PHP基礎-自定義函數-變量范圍-函數參數傳遞


一、自定義函數
    function 函數名([形式參數1,形式參數2,....形式參數n]){
        //各種PHP代碼....
        //......
        return 表達式;//也可以不返回,如果不寫那么默認返回null
    }
    
    函數的調用:
        函數的調用需要遵循定義函數的時候寫的規則,一一對應,將具體的實際參數傳給定義函數時候寫的形式參數!
        調用函數之后執行的過程是相對獨立的,互補干擾,默認沒有聯系!
        執行完畢返回調用的位置繼續向下執行
    函數的返回值:
        返回給調用者,默認返回null
    
    函數比喻成我們現實生活中的 某個零件的制造部門!
    參數:原材料或者是這個零件的一些具體的參數!
二、PHP變量的范圍
    1.局部變量
        function test(){
            $a=1;//局部變量$a,盡在這個函數內部有效
        }
        echo $a;
    2.全局變量
        $i=10;//全局變量(外部變量)
        define('MY_NAME','孫勝利');
        function test(){
            echo MY_NAME;
            global $i;//聲明$i為全局變量,然后再這個函數內部就可以使用$i
            echo $i;
            $a=1;
        }
        test();
    3.靜態變量
        function test(){
            static $a=10;//靜態變量$a,初始化靜態變量,盡在第一次調用的時候執行
            echo ++$a;//當第二次執行這個函數的時候$a這個變量依然存在並且里面的也值依然存在!
        }
        test();
        echo '<br />';
        test();
        echo '<br />';
        test();
        echo '<br />';
        test();
        echo '<br />';
        test();
        echo '<br />';
        test();
        echo '<br />';
        test();
三、參數的傳遞
    1.按值傳遞參數
        默認的,我們在傳遞參數的時候默認使用的就是這個方式!
        對形式參數的操作,根本不是影響到實際參數(變量)的值,兩者相當於沒有聯系!
    2.按引用傳遞參數
        按引用傳遞參數,相當於形式參數和實際參數指的是同一個人,只是名字不一樣,對於形式參數的操作會直接影響到實際參數(變量);
    3.函數的默認參數
        可以給形式參數設置默認值,設置方法很簡單直接賦值即可!
        給形式參數加默認值的時候是重右往左加的,右邊的必須有,才能夠給左邊的加!
    4.可變長度參數列表
        PHP提供給我們的,可以直接使用
        func_get_args();
        func_get_arg();
        func_num_args();
        這三個函數可以使用在我們的自定義函數內部,能夠返回給我們一些關於參數的信息!

四、可變函數(變量函數)
  直接把函數賦值給變量

/* 可變函數 */
function test(){
    echo '測試函數2';
}
$a='test';
$a();//test();
  可變函數不能用於例如 echo,print,unset(),isset(),empty(),include,require 以及類似的語言結構。需要使用自己的包裝函數來將這些結構用作可變函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM