文章出處
文章列表
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值,而不是那個全局變量,輸出的第二行證實了這個改變。
文章列表
全站熱搜
留言列表