PHP 快速導覽 - 變數範圍

單一 PHP 檔案中,在函數 (function) 或類別 (class) 以外的地方定義的變數 (variable) 屬於全域的,例如

$a = 1; // $a 為全域變數


如果在函數或類別中定義的變數就是區域變數 (local variable) ,效力僅限於函數或類別中,例如
$a = 1; // $a 為全域變數

function do_something() {
    $a = 0; // $a 為區域變數
}


PHP 中全域變數與區域變數各有其效力範圍,這是說全域變數的 $a 並不能直接在 do_something() 中使用,如果要在 do_something() 中使用外層定義的 $a ,就要將相同名稱的區域變數宣告為 global ,舉例如下
<?php
$a = 1;
echo "$a\n";

function do_something() {
    global $a;
    echo "$a\n";
}

do_something();
echo "$a";

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:vs01.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


此例執行結果如下



如果在不同的檔案中,使用其他檔案定義的內容就要先 includerequire ,例如有個 vs02.php 檔案
<?php
$a = 1;
echo "$a";

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:vs02.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


我們在 vs03.php 中使用 vs02.php 定義的 $a
<?php
include 'vs02.php';
echo "$a";

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:vs03.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


執行結果如下



中英文術語對照
函數function
類別class
變數variable
區域變數local variable


您可以繼續參考
資料型態與參考


相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁


參考資料
http://www.php.net/manual/en/language.variables.scope.php

沒有留言: