欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP函數(shù)介紹

PHP函數(shù)介紹

沿灘網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站


基本使用:

函數(shù)定義形式:

        function 函數(shù)名(形參1,形參2,...) {

            //函數(shù)體(代碼塊);

        }

    函數(shù)調(diào)用形式:

        本質(zhì)上就是使用一個(gè)名字來達(dá)到執(zhí)行其中函數(shù)中的的作用。通??梢苑謨煞N情形的調(diào)用:

        第一種:沒有返回值的函數(shù),則調(diào)用語句是獨(dú)立語句

            函數(shù)名(實(shí)參1,實(shí)參2,...); //實(shí)參個(gè)數(shù)應(yīng)該跟形參有匹配性

        第二種:有返回值的函數(shù),則調(diào)用語句,通常會(huì)“混雜”在別的語句中,并將該調(diào)用語句當(dāng)作一個(gè)“數(shù)據(jù)”來使用:

            A: $v1 = 函數(shù)名(); //賦值給其它變量,這里省略實(shí)參語法,下同

            B: $v1 = 函數(shù)名()*3+6; //參與運(yùn)算,然后再賦值

            C: echo 函數(shù)名(); //直接輸出

            D: echo 函數(shù)名()*3+6; //參與運(yùn)算,然后再輸出

            E: $v1 = 函數(shù)名2(函數(shù)名(),實(shí)參2,實(shí)參3,...); //當(dāng)作實(shí)參使用

函數(shù)調(diào)用流程分析:

    開始調(diào)用:實(shí)際參數(shù)傳數(shù)據(jù)給形式參數(shù)

    程序執(zhí)行流程進(jìn)入到函數(shù)中(一個(gè)獨(dú)立的運(yùn)行空間),跟全局執(zhí)行空間是隔離的

    按常規(guī)的程序邏輯執(zhí)行函數(shù)中的代碼

    如果碰到return語句,則終止函數(shù)的執(zhí)行,跳回函數(shù)開始調(diào)用的位置

    如果執(zhí)行到函數(shù)的最后位置,也同樣跳回函數(shù)開始調(diào)用的位置

其運(yùn)行流程原理圖如下:

PHP函數(shù)介紹

函數(shù)參數(shù)問題:

    一個(gè)函數(shù),

    在定義時(shí),有形式參數(shù)(形參:parameter)

        1:形參一定是一個(gè)變量名,

        2:該變量名只能是在該函數(shù)中有效的變量名,

        3:而且只在該函數(shù)調(diào)用并執(zhí)行時(shí)有效,函數(shù)結(jié)束,通常這些變量也就“銷毀”

    在調(diào)用時(shí)有實(shí)際參數(shù)(實(shí)參:argument)

        實(shí)參就是一個(gè)“實(shí)際數(shù)據(jù)”,該數(shù)據(jù)可以是一個(gè)“直接數(shù)據(jù)”(比如5,"abc"),也可以是一個(gè)變量中存儲(chǔ)的數(shù)據(jù)。

        實(shí)參的作用是將其數(shù)據(jù)”賦值給“形參變量

        實(shí)參跟形參之間通常應(yīng)該有個(gè)“一一對(duì)應(yīng)”關(guān)系

    默認(rèn)值參數(shù):

        定義一個(gè)函數(shù)的時(shí)候,在形式參數(shù)的位置,可以給形式參數(shù)設(shè)定默認(rèn)值,此時(shí)就可以稱為默認(rèn)值參數(shù)。比如:

PHP函數(shù)介紹

    

注意:

    默認(rèn)值不能是對(duì)象或資源類型

    默認(rèn)值只能是常量表達(dá)式,或常量,不能是變量

即:如下語法是正確的:function f1($v = 3) {}, function f1($v = __LINE__) {},

    如下語法是錯(cuò)誤的:function f1($v = 3+1) {} , $m = 3,function f1($v = $m) {},

函數(shù)的參數(shù)傳值問題:

    實(shí)際上,函數(shù)的參數(shù)傳值問題,跟變量之間的傳值是一樣的規(guī)則(模式):默認(rèn)是值傳遞。

    如果實(shí)參本身就是“直接數(shù)據(jù)”,則不存在傳值問題,而是簡(jiǎn)單的“賦值”

    傳值問題只發(fā)生在實(shí)參是變量的情形:

    PHP函數(shù)介紹

    我們也可以讓某個(gè)參數(shù)(形參)以引用傳遞的方式來傳值:

    引用傳遞的形參(實(shí)參),在函數(shù)內(nèi)部改變其值,在函數(shù)外面的實(shí)參,也會(huì)相應(yīng)做修改

    PHP函數(shù)介紹

    注意:如果某個(gè)形參設(shè)定為引用傳遞,此時(shí),實(shí)參只能使用變量,否則會(huì)出現(xiàn)語法錯(cuò)誤,如:

    PHP函數(shù)介紹

參數(shù)的數(shù)量問題:

   1:函數(shù)的參數(shù)的數(shù)量可以是0個(gè)或多個(gè) -- 具體多少個(gè),不是語法問題,而是應(yīng)用問題

    2:通常,實(shí)際參數(shù)的數(shù)量應(yīng)該跟形式參數(shù)的數(shù)量一致

    3:但是,在第二條的基礎(chǔ)上,如果形式參數(shù)中有默認(rèn)值,則實(shí)際參數(shù)的對(duì)應(yīng)項(xiàng)可以少省略   

        即:實(shí)參的個(gè)數(shù),至少應(yīng)該不少于形參中的非默認(rèn)值參數(shù)的個(gè)數(shù)

但:我們還有一種特殊的處理函數(shù)參數(shù)的用法:自由參數(shù)數(shù)量

    定義時(shí)可以不給定形參,但調(diào)用時(shí),卻又可以給定任何個(gè)數(shù)的實(shí)參

在系統(tǒng)中,var_dump()這個(gè)函數(shù)也有同樣的使用效果:

    $var_dump($v1);

    var_dum($v1,$v2,$v3);  //這樣也是可以的

這種應(yīng)用的實(shí)現(xiàn),是依賴于系統(tǒng)中的3個(gè)系統(tǒng)函數(shù)來達(dá)到的:

    func_get_args();    //獲得一個(gè)函數(shù)的接收到的所有實(shí)參數(shù)據(jù),并結(jié)果是一個(gè)數(shù)組

    func_get_arg(n);    //獲得一個(gè)函數(shù)所接收到的第n個(gè)實(shí)參數(shù)據(jù)(n從0開始)

    func_num_args();    //獲得一個(gè)函數(shù)所接收到的所有實(shí)參數(shù)據(jù)個(gè)數(shù)

函數(shù)的返回值:

    通常來說,一個(gè)函數(shù)中使用reture語句,并其后帶一個(gè)數(shù)據(jù)(直接數(shù)據(jù),變量數(shù)據(jù),表達(dá)式結(jié)果數(shù)據(jù))則該函數(shù)就會(huì)返回該數(shù)據(jù)到“調(diào)用的位置":

    PHP函數(shù)介紹

    通常情況下,函數(shù)返回的數(shù)據(jù)都是以”值傳遞“的形式返回,函數(shù)中的變量的值”拷貝“一份,然后返回給接收的位置的相應(yīng)代碼(賦值,輸出,計(jì)算)。

    但我們也可以讓函數(shù)中的變量的數(shù)據(jù)的值,以”引用傳遞“的方式返回,形式如下:

        定義函數(shù):

            function $函數(shù)名(parameter1,parameter2,...) { //函數(shù)名前有個(gè)引用符號(hào)

                $result = 0; //初始化

                ......

                return $result; //此時(shí)返回?cái)?shù)據(jù),只能是變量

            }

        調(diào)用函數(shù):

            $v1 = $函數(shù)名(argument1,argument2,...); //引用返回的函數(shù),自然是指有返回值

    PHP函數(shù)介紹

函數(shù)的其他形式:

    1:可變函數(shù)-- 就是函數(shù)名“可變”,其實(shí)跟可變變量一樣道理

        $str1 = "f1"; //只是一個(gè)字符串,內(nèi)容為"f1"

        $v1 = $str1(3,4); //形式上看起來是一個(gè)變量后面加上括號(hào),則其本質(zhì)是該變量的“內(nèi)容”(f1)后面加括號(hào),即這里是調(diào)用函數(shù)f1(3,4)。實(shí)際應(yīng)用中,常常是需要根據(jù)“用戶給定”的數(shù)據(jù),來決定調(diào)用哪個(gè)函數(shù),比如:

        function jpg() {處理jpg圖};

        function png() {處理png圖};

        function gif() {處理gif圖};

        $fileName = get_fileName() {獲取用戶上傳的圖片名};

        $houzhui = get_houzhui($fileName);

        $houzhui();

    2:匿名函數(shù)-- 就是沒有名字的函數(shù),其有兩種表現(xiàn)形式:

        表現(xiàn)形式1:

            $f1 = function() {...函數(shù)體;}; //這里的匿名函數(shù)定義形式上沒有名字,但其實(shí)又將之賦值給了變量$f1;使用時(shí),就跟“可變函數(shù)”一樣了:$v1 = $f1();

    PHP函數(shù)介紹

        表現(xiàn)形式2:

            調(diào)用其他函數(shù)(匿名函數(shù),argument1,argument2,...);

            說明:

                1:此形式的匿名函數(shù)只有定義的函數(shù)體(無函數(shù)名)

                2:此形式的匿名函數(shù)只能作為其他函數(shù)調(diào)用時(shí)的參數(shù)(其他函數(shù)通常有特定用處)

                3:此匿名函數(shù)會(huì)在調(diào)用其他函數(shù)的“過程中”被執(zhí)行。

            能夠使用(匿名)函數(shù)當(dāng)作實(shí)參的函數(shù),并不多!

            其中有一個(gè)常見的是:call_user_func_array();

            其使用形式為:

                call_user_func_array(匿名函數(shù),數(shù)組);

            含義:將數(shù)組當(dāng)作匿名函數(shù)的若干個(gè)實(shí)參,傳遞到該匿名函數(shù)中,并可以從該匿名函數(shù)中返回?cái)?shù)據(jù),執(zhí)行該匿名函數(shù)。

        PHP函數(shù)介紹 

    

變量的作用域:

    通常說作用域,有2個(gè):

        局部作用域:只能在所定義的函數(shù)范圍內(nèi)使用

        全局作用域:在函數(shù)的“外部”范圍使用

            -- php中,局部和全局作用域是不重疊的。

            -- js中,全局作用域是包括局部作用域的。

PHP函數(shù)介紹

PHP函數(shù)介紹

    但還有兩個(gè):

        超全局:就是函數(shù)的內(nèi)部與外部都可以使用。

                超全局變量只有系統(tǒng)內(nèi)部預(yù)定義的那幾個(gè),我們不能在程序中創(chuàng)建超全局變量

        靜態(tài)局部作用域:其實(shí)也是局部,但多一個(gè)特征:數(shù)據(jù)能夠在函數(shù)退出后仍然保持不丟失。

局部訪問全局變量的特定語法:

    1:在局部范圍內(nèi)使用 global 關(guān)鍵字對(duì)全局變量進(jìn)行一次“聲明”,則就可以使用了

        PHP函數(shù)介紹

        說明:

            1:實(shí)際上,函數(shù)中的 global 語句,其實(shí)是創(chuàng)建了一個(gè)跟外部變量同名的局部變量,并通過“引用”的方式指向了外部變量的數(shù)據(jù)區(qū)

     PHP函數(shù)介紹

            實(shí)例:

     PHP函數(shù)介紹

           2:在函數(shù)中(局部范圍),使用$GLOBALS超全局?jǐn)?shù)組來引用(使用)全局變量

              $GLOBALS超全局?jǐn)?shù)組的作用是用于存儲(chǔ)所有全局變量的數(shù)據(jù):變量名為下標(biāo),變量值為對(duì)應(yīng)元素值。

     PHP函數(shù)介紹

              但通過$GLOBALS操作全局變量,是直接操作(而不是引用操作),即如果unset該對(duì)應(yīng)元素,則全局變量對(duì)應(yīng)變量也被unset掉:

     PHP函數(shù)介紹

            3:實(shí)際上,我們還可以在函數(shù)內(nèi)部直接使用$GLOBALS數(shù)組,添加元素的方式來創(chuàng)建全局變量,自然也就類似局部使用全局

       PHP函數(shù)介紹


全局訪問局部變量的特定語法:

    1:通過引用傳遞的方式向形參傳遞一個(gè)引用實(shí)參變量

            $v1 = 10;

            function f1(&$p1,$p2) {...} //$p1是函數(shù)的形參,也即就是函數(shù)的內(nèi)部(局部)變量

            $v2 = f1($v1,10); //此時(shí)我們認(rèn)為$v1就可以使用函數(shù)中$p1的值。

    2:使用函數(shù)的引用返回形式:見前面引用的方式返回?cái)?shù)據(jù)

    3:函數(shù)中使用global關(guān)鍵字來首次引用一個(gè)全局變量,則函數(shù)結(jié)束后在全局范圍就可以使用該變量了

    PHP函數(shù)介紹

    

當(dāng)前文章:PHP函數(shù)介紹
新聞來源:http://chinadenli.net/article26/pehjcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、品牌網(wǎng)站制作、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
男女午夜视频在线观看免费| 欧美日韩国产福利在线观看| 日韩高清一区二区三区四区| 爱草草在线观看免费视频| 日韩人妻av中文字幕| 日韩女优视频国产一区| 日本久久中文字幕免费| 欧美日韩在线第一页日韩| 91在线爽的少妇嗷嗷叫| 欧美日韩最近中国黄片| 免费大片黄在线观看国语| 亚洲一区二区三区三区| 国产精品内射婷婷一级二级| 日本视频在线观看不卡| 少妇人妻中出中文字幕| 日本特黄特色大片免费观看| 中文字幕人妻一区二区免费 | 欧美人妻少妇精品久久性色| 精品少妇人妻av一区二区蜜桃| 人妻熟女欲求不满一区二区| 国产自拍欧美日韩在线观看| 91精品日本在线视频| 亚洲欧洲在线一区二区三区| 99国产成人免费一区二区| 国产一区二区三区四区中文| 高潮少妇高潮久久精品99| 国产精品成人一区二区在线 | 欧美一区二区日韩一区二区| 大香蕉伊人精品在线观看| 中文字幕亚洲人妻在线视频| 久久热这里只有精品视频| 精品精品国产欧美在线| 久久精品少妇内射毛片| 麻豆印象传媒在线观看| 国产精品人妻熟女毛片av久久| 中文字幕在线区中文色| 国产欧美一区二区三区精品视| 欧美加勒比一区二区三区| 亚洲一级二级三级精品| 成年人免费看国产视频| 日本深夜福利视频在线|