php變數的範圍
變數的範圍也就是它的生效範圍。大部分的 PHP 變數只有一個單獨的使用範圍,也包含了 include 和 require 所引入的檔案。當一個變數執行賦值動作以後,會隨著宣告的區域位置差異而有不同的使用範圍。上一章節介紹了php變數函數及函數引用和取消引用,一般情況下,變數會依據宣告的位置分為局部變數和全域變數兩種。這一章節我們就先介紹局部變數。
什麼局部變數?
局部變數也叫內部變量,是在函數內部宣告的變量,其作用域僅限於函數內部,離開該函數後再使用這個變數就是非法的,程式執行時會出現錯誤的訊息。不僅在函數中宣告的變數是局部變量,為宣告函數而設定的參數因為只能在本函數的內部使用,所以也是局部的變數。差異在於函數的參數具體數值從函數外部獲得(函數被呼叫時傳入值),而直接在函數中宣告變數只能在函數內部被賦值。但他們的作用域都僅限於函數的內部,因為當每次函數被呼叫時,函數內部的變數才會被聲明,執行完畢後函數內部的變數都會被釋放。
下面透過一段程式碼實例來示範一下:
<?php /* * 测试局部变量的演示函数 * $one 需要一个整型的参数,测试是否为局部变量 */ function num($one){ // 在函数内部声明变量 $two = 2; // 在函数内部使用两个全局变量 echo "函数内部:$one + $two = ".($one+$two).'<br>' ; } // 调用 num 函数并赋值给参数 num(6); // 在函数外部使用两个变量,为非法访问 echo "函数外部:$one + $two = ".($one+$two); ?>
#以上的程式執行後會輸出以下的結果:
函数内部:6 + 2 = 8 //在函数内部可以访问内部变量,输出结果 函数外部: + = 0 // 在函数外部不能访问函数内部的两个变量,所以无法输出结果
上面的實例中宣告了一個num() 函數,當呼叫 num() 函數時才會宣告兩個變數$one 和$twe,這兩個變數都是局部變數。變數 $one 是在參數中聲明的並在呼叫時被賦值,另一個變數 $two 是在函數中聲明的並且直接賦值, 這兩個局部變數只能在函數的內部使用,並輸出計算的結果。當 num()函數執行結束時,這兩個變數就會被釋放。因此在函數外部存取這兩盒變數時是不存在的,所以沒有輸出結果。如果在函數外部需要呼叫該變數值,則必須透過 return 指令將其值傳回至主程式區塊以作後續處理。
其程式碼如下:
<?php /* * 测试局部变量的演示函数 * $one 需要一个整型的参数,测试是否为局部变量 */ function num($one){ // 在函数内部声明变量 $two = 2; // 将函数的运算结果使用 return 语句返回到函数调用处 return $one + $two; } // 调用 num 函数并赋值给参数 $one,返回值付给变量 $sum $sum = num(6); // 在函数外部可以使用函数返回的结果 echo "函数外部使用:$sum"; ?>
以上的程式執行後會輸出以下的結果:
函数外部使用:8 //获得函数内部执行结果,在函数外部使用。
以上就是php變數的範圍裡面的局部變數實例介紹,下一章將介紹php範圍裡面的全域變數,請朋友繼續留意後面的內容。
【相關教學推薦】
3. php實戰影片教學
#以上是什麼是局部變數?php變數的範圍之局部變數實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!