所以我有一个PHPUnit测试,并在函数中找到了这段代码。
global $argv, $argc;
echo $argc;
print_r($argv);
我理解这些变量代表什么(从命令行传递的参数),但我以前从未见过这种语法:global $argv, $argc;
这里具体是什么?
答案 0 :(得分:3)
global
关键字告诉PHP使用变量的全局范围版本,并使其对当前范围可见,这样在函数/类外部声明的变量也可以在它们内部访问。
否则,尝试读取/分配这些变量将改为在它们的不同本地版本上运行。
比较
$foo = 1;
function test() {
$foo = 2;
}
echo $foo; // prints 1
...对比
$foo = 1;
function test() {
global $foo;
$foo = 2;
}
echo $foo; // prints 2
答案 1 :(得分:3)
在Java等语言中,它们允许您在一行上用逗号分隔多个相同类型的变量。
int sum, counter, days, number;
如果没有IDE来测试代码,我会对PHP说同样的问题,它只是将这两个变量声明为global
。你可以在两条单独的行上单独写出它们,
global $argv;
global $argc;
答案 2 :(得分:2)
argv
和arc
是从命令行运行PHP脚本时传递的参数。据我所知,这些变量永远不会出现在使用HTTP。
其他人已经解释了全球的意义。逗号只是对类似的声明进行分组。
例如,这一行会为一个类声明一堆私有变量:
private $name, $email, $datejoined;
与写作相同:
private $name;
private $email;
private $datejoined;
答案 3 :(得分:1)
global
关键字生成指定的变量..好的全局变量,可以从该文件中的任何位置访问。