在学习php的过程中,我遇到了以下问题。 我不明白为什么当我运行以下代码时,我在本地站点和终端中得到不同的值:
function scopeTest(): int
{
global $a;
return $a = 15;
}
scopeTest();
echo $a;
航站楼:15
web:警告:未定义变量$a
当尝试通过函数更改全局变量时,我遇到了同样的问题。
$a = 1;
function scopeTest(): int
{
global $a;
return $a += 4;
}
scopeTest();
echo $a;
终端:5
网络:1
我用:
请尝试以下代码看看您会得到什么结果:
$a = 1;
function scopeTest()
{
global $a;
$a += 4;
}
scopeTest();
echo $a;
因为您将
$a
作为全局变量访问,所以无需在函数末尾返回值。使用全局变量的替代方法是:
$a = 1;
function scopeTest($a): int
{
$a += 4;
return $a;
}
$a = scopeTest($a);
echo $a;