Ana*_*try 7 php error-handling runtime-error compiler-errors syntax-error
今天,我开始学习PHP.而且,我已经创建了我的第一个PHP文件来测试不同的变量.你可以看到我的文件如下.
<?php
$x=5; // global scope
function myTest()
{
$y=10; // local scope
echo "<p>Test variables inside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
}
myTest();
echo "<p>Test variables outside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
?>
Run Code Online (Sandbox Code Playgroud)
我在浏览器中运行此文件时发现以下错误.
注意:未定义的变量:第19行的/opt/lampp/htdocs/anand/php/index.php中的x
注意:未定义的变量:y在第29行的/opt/lampp/htdocs/anand/php/index.php中
任何人都可以帮我解决问题吗?
第一个错误($x未定义)是因为默认情况下全局变量不会导入函数(而不是"超级全局变量").
您需要告诉您的函数您正在引用全局变量$x:
function myTest()
{
global $x; // $x refers to the global variable
$y=10; // local scope
echo "<p>Test variables inside the function:<p>";
echo "Variable x is: $x";
echo "<br>";
echo "Variable y is: $y";
}
Run Code Online (Sandbox Code Playgroud)
否则,PHP无法判断您是否使用同名的局部变量遮蔽全局变量.
第二个错误($y未定义),因为本地范围就是本地范围.它的全部意义在于$y不会"漏掉"功能.当然,您不能$y在代码中稍后访问它,而不是在定义它的函数之外.如果可以,那将与全球没什么不同.
| 归档时间: |
|
| 查看次数: |
75619 次 |
| 最近记录: |