php中的global
发布时间:2021-10-09 21:42:27编辑:雪饮阅读()
访问全局变量
像是这样的一个程序:
test.php:
<?php
$var1=1;
function aa(){
var_dump($var1);
}
aa();
?>
Ide就直接报错了,运行结果也是null
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.4.3nts\php.exe C:\Users\Administrator\PhpstormProjects\untitled\test.php
C:\Users\Administrator\PhpstormProjects\untitled\test.php:4:
NULL
Php中访问全局变量不像JavaScript那样,这个经常也是很容易混淆的,那么php中要访问全局变量可以用global关键字。
test.php:
<?php
$var1=1;
function aa(){
global $var1;
var_dump($var1);
}
aa();
?>
再次运行就没有问题了。
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.4.3nts\php.exe C:\Users\Administrator\PhpstormProjects\untitled\test.php
C:\Users\Administrator\PhpstormProjects\untitled\test.php:5:
int(1)
全局变量的赋值
像是这样的程序:
test.php
<?php
global $var1=1;
?>
运行结果自然报错:
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.4.3nts\php.exe C:\Users\Administrator\PhpstormProjects\untitled\test.php
Parse error: syntax error, unexpected '=', expecting ';' or ',' in C:\Users\Administrator\PhpstormProjects\untitled\test.php on line 2
正确的赋值应该是这样:
test.php:
<?php
global $var1;
$var1=1;
?>
运行结果就没有错了
C:\Users\Administrator>D:\phpstudy_pro\Extensions\php\php7.4.3nts\php.exe C:\Users\Administrator\PhpstormProjects\untitled\test.php
只不过这种方法有点画蛇添足,因为本来就是全局不用global声明,若是在某个方法中则可以这样赋值。