我在運行alertError()時遇到了一個問題,它似乎很好,並且存在對$ errors的訪問,但是在運行showErrors()時,它告訴我該變量是未定義的。 「未定義的變量:錯誤的」php中的變量作用域
$errors = array();
function alertError($error){
$errors[] = $error;
echo $errors[count($errors)-1];
}
function showErrors(){
echo "<html>
<head>
<title>Error occurred!</title>
</head>
<body>";
foreach($errors as $error){
echo $error."<br>";
}
echo "
</body>
</html>";
die();
}
爲什麼alertError()似乎知道$錯誤的定義,並showErrors()有麻煩訪問他嗎?
閱讀[文檔中的變量範圍](http://php.net/language.variables.scope)。它解釋了一切。 – Gumbo
這是拋出錯誤的奇怪方法 –
PHP作用域不會繼承。如果你已經習慣了一種更爲理智的編程語言,那麼你就會陷入困境。 – Boann