文章出處

 

 

function fn() {
	echo "inside the function, \$var = ".$var."<br>";
	$var = "content 2";
	echo "inside the function, \$var = ".$var."<br>";
}
$var = "content 1";
fn();
echo "outside  the function, \$var = ".$var."<br>";

echo "<br><br>";

輸出:

inside the function, $var =
inside the function, $var = content 2
outside the function, $var = content 1

 函數在被調用之前是不會執行的,所以第一條執行的語句$var = "content",該語句創建了一個名為$var的變量,它具有全局作用域且值為"content 1",下一條執行的語句是調用函數fn(),函數內部的代碼按順序執行,函數第一行引用了一個名為$var的變量,當這行被執行時,就不能看到前面創建的變量$var了,所以它創建了一個具有函數作用域的新變量并將它顯示出來,這就是輸出的第一行。
函數內的下一行代碼將變量$var的內容設為"content 2"。因為是在函數內部,所以這一行改變了局部$var值,而不是那個全局變量,輸出的第二行證實了這個改變。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()