首頁  >  文章  >  後端開發  >  php教學:php自訂函數函數應用

php教學:php自訂函數函數應用

伊谢尔伦
伊谢尔伦原創
2017-06-26 11:09:091799瀏覽

函數的定義:函數就是一段封裝好的程式碼區塊,可以隨時呼叫。在PHP中有兩種函數:自訂函數與系統函數。

自訂函數語法格式:

function  函數名稱([參數1,[參數2]....])

{

函數體(程式內容敘述)

[return 傳回值;]

}

#註:[]裡面的東西可有可無

自訂函數的名稱:

  1. 它是函數在程式碼中的識別名稱,函數名稱可以是以字母或下劃線開頭後跟零個或多個字母、下劃線和數字的任何字符串。

  2. 符合變數名稱的命名規則

  3. 函數名稱不區分大小寫。

  4. 函數名不能重複,命名函數函數時不可使用已經宣告的函數(這個和變數的命名不同,變數可以覆蓋前一個變數名,而函數不可以),和PHP系統函數名稱。

函數名稱和變數名稱的差異:

變數名稱嚴格區分大小寫,函數名稱不區分大小寫。

參數(可分為形參和實參):

所謂參數就是:用來把數值從函數外部傳入函數體中,並用來加以運算處理。

參數之間以“,”隔開,當函數不需要任何數值傳入時,可以省略參數。

形參:宣告函數時,函數名稱後面括號內的表達式稱為形參。

function table(形參1,形參2){}

實參:被呼叫函數名稱後面括號中的表達式稱為實參。

table(實參1,實參2);

實參與形參需依序對應傳遞資料。

function table2($rows,$cols,$color='yellow')
{
    echo &#39;<table border="1" bgcolor="&#39;.$color.&#39;">&#39;;
    for($i = 0;$i < $rows;$i++){
        echo &#39;<tr>&#39;;
        for($n = 0;$n <$cols;$n++){
            echo &#39;<td>&#39;.($i*$rows+$n).&#39;</td>&#39;;
        }
        echo &#39;</tr>&#39;;
    }
}
table2(10,10,&#39;red&#39;);

注意:函數參數中,沒有預設值的放到前面,有預設值的放在參數清單中的後邊。

table2($rows,$cols,$color = 'yellow')

傳回值:

當呼叫函數時需要它回傳一些數值,那麼就要在函數體中以return語句實現。

格式如下:

return 回傳值;//回傳值可以是變數或變數或是一個運算式

exit();        //無回傳值void

return語句在函數體中使用時,有以下兩個作用:

  1. #return語句可以向函數呼叫者傳回函數體中任意決定的值。

  2. 將程式控制權傳回呼叫者的作用域,也就是退出函數。在函數中如果執行了return語句,它後面的語句就不會被執行了。

說明:如果函數沒有回傳值,就只能算是執行過程,只靠函數做一些事情還不夠,有時更需要在程式腳本中

#使用函數執行後的結果。由於變數的作用域的差異,呼叫函數的腳本程式不能直接使用函數體裡面的訊息,但可以透過關鍵字return向呼叫者傳遞資料。

echo與return:

echo直接輸出到瀏覽器,不能再加工,不能賦值給變數

return可以賦值給變數,變數是資料的暫存容器( return回傳一個值,等待一個變數接收它)

注意:    如果函數有回傳值,當函數執行完畢時就會將return後面的值回傳到呼叫函數的位置處,這樣就可以把函數名稱當作函數傳回的值使用。 (這時呼叫函數時對ruturn後面的值是不管用的(retrun的值已經回到呼叫函數的位置處,return以前的輸出還是可以照樣輸出),因為她已經變成某個值了無法用funName ();輸出,需要echo funName()才可以輸出。

#cccaaa


cccaaa

函數的呼叫:

格式:函數名稱();


說明:table();


不管是自訂函數還是系統函數,如果函數不被調用,就不會執行。

透過函數名稱去呼叫函數,並讓函數體的程式碼運行,呼叫幾次函數體就會執行幾次。

    在PHP中可以在函數的宣告之後調用,也可以在函數的宣告之前調用,也可以在函數中調用函數。
  1. 駝峰命名法:
  2. <?php
    header("content-type:text/html;charset=utf-8");
    echo show();
    echo &#39;<hr>&#39;;
    
    function show()
    {
        echo &#39;ccc&#39;;
        return &#39;aaa&#39;;
        //return所在行之后的代码不会执行
        echo 111;
    }
    
    //函数的调用,不会将return后面的值返回
    show();
    echo &#39;<hr>&#39;;
    
    //return返回的值 需要一个变量来接收它
    $result = show();
    echo $result;
    echo &#39;<hr>&#39;;
    
    //也可以直接输出 函数名称
    echo show();
    echo &#39;<hr>&#39;;

    判斷函數是否存在
  3. : function_exists()
function showInfo()
{
}
function ShowInfo()
{
}

PHP

變數的範圍

  • 局部变量

  • 全局变量

  • 静态变量

<?php
$username = &#39;shifang&#39;;
function stu()
{
    $name = &#39;libai&#39;;
    echo $name;
    //无法调用外部的$username,而在函数体内也没有声明$username
10   echo $username;
    echo &#39;xxxx&#39;;
}

stu();
//函数体外无法调用函数体内的变量
16.echo $name;
echo $username;

结果:

libai

Notice: Undefined variable: username in D:\xampp\htdocs\89\Exercise\2016-7-28 PHP function\007quanju.php on line 10

xxxx

Notice: Undefined variable: name in D:\xampp\htdocs\89\Exercise\2016-7-28 PHP function\007quanju.php on line 16

shifang

在PHP的页面中声明的变量,叫“全局变量”.

函数内的变量叫“局部变量”.

二者没有半毛钱关系:函数内的变量,外部无法调用,函数外的变量,函数无法调用

(某戏班子到某学校唱戏,两者的花名册都不可相互调用)

静态变量:

  •  PHP支持声明函数变量为静态的(static)。

  • 一个静态变量在所有对该函数的调用之间共享,并且仅在脚本的执行期间函数第一次被调用时被初始化。

  • 要声明函数变量为静态的用关键字static,通常,静态变量的第一次使用时赋予一个初始值。

<?php
function tongji()
{
    static $n = 0;
    echo $n;
    $n++;
}
tongji();
tongji();
tongji();
echo &#39;<hr>&#39;;

function jishu()
{
    $m = 0;
    echo $m;
    $m++;
}
jishu();
jishu();
jishu();

输出结果:
0123


00000


以上是php教學:php自訂函數函數應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn