首頁  >  文章  >  後端開發  >  什麼是局部變數?php變數的範圍之局部變數實例詳解

什麼是局部變數?php變數的範圍之局部變數實例詳解

伊谢尔伦
伊谢尔伦原創
2017-05-08 10:53:103331瀏覽

php變數的範圍

變數的範圍也就是它的生效範圍。大部分的 PHP 變數只有一個單獨的使用範圍,也包含了 include 和 require 所引入的檔案。當一個變數執行賦值動作以後,會隨著宣告的區域位置差異而有不同的使用範圍。上一章節介紹了php變數函數及函數引用和取消引用,一般情況下,變數會依據宣告的位置分為局部變數和全域變數兩種。這一章節我們就先介紹局部變數。

什麼局部變數?

局部變數也叫內部變量,是在函數內部宣告的變量,其作用域僅限於函數內部,離開該函數後再使用這個變數就是非法的,程式執行時會出現錯誤的訊息。不僅在函數中宣告的變數是局部變量,為宣告函數而設定的參數因為只能在本函數的內部使用,所以也是局部的變數。差異在於函數的參數具體數值從函數外部獲得(函數被呼叫時傳入值),而直接在函數中宣告變數只能在函數內部被賦值。但他們的作用域都僅限於函數的內部,因為當每次函數被呼叫時,函數內部的變數才會被聲明,執行完畢後函數內部的變數都會被釋放。

下面透過一段程式碼實例來示範一下:

<?php
  /*
  * 测试局部变量的演示函数
  * $one 需要一个整型的参数,测试是否为局部变量
  */
  function num($one){
    // 在函数内部声明变量
    $two = 2;
    // 在函数内部使用两个全局变量
    echo "函数内部:$one + $two = ".($one+$two).&#39;<br>&#39; ;
  }
  // 调用 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範圍裡面的全域變數,請朋友繼續留意後面的內容。

【相關教學推薦】

1. 《php.cn獨孤九賤(4)-php影片教學

2.  php程式設計從入門到精通全套影片教學

3. php實戰影片教學

#

以上是什麼是局部變數?php變數的範圍之局部變數實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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