我有一個PHP文件:PHP - 注意:未定義的變量
<?php
$a = 1;
function test(){
echo $a;
}
test();
?>
而且我得到這個錯誤:
Notice: Undefined variable: a in X:\...\test.php on line 4
使用XAMPP @ 32位W7。
我有一個PHP文件:PHP - 注意:未定義的變量
<?php
$a = 1;
function test(){
echo $a;
}
test();
?>
而且我得到這個錯誤:
Notice: Undefined variable: a in X:\...\test.php on line 4
使用XAMPP @ 32位W7。
變量具有函數範圍。 $a
裏面的功能和$a
以外的功能不一樣。在函數裏面你還沒有定義變量$a
,所以它不存在。將它傳遞給函數:
$a = 1;
function test($a) {
echo $a;
}
test($a);
您無法理解變量範圍。 $a
定義在全局範圍內,但不在函數範圍內。如果你希望你的函數知道$a
包含,你有兩個選擇:
您可以使用全局的建議,但這是不好的做法。如果您需要函數外的函數中的變量,則將它們作爲參數傳遞。
$a = 1;
function test($a) {
echo $a;
}
test($a);
它因爲功能範圍。您需要編寫全局$ a;在函數的頂部,但是你應該避免全局變量。在php –
http://php.net/manual/en/language.variables.scope.php – NullUserException
閱讀一下關於範圍PHP沒有真正的全局變量。如果你想要這個工作,你需要鏈接到共享範圍。 (例子太抽象了,但它經常被新手濫用;函數參數通常是最好的方法。) – mario