未定义的变量argc PHP

Pol*_*ium 9 php linux

我正在尝试执行此代码:

function main(){
  if ($argc < 1){
    listDir(".");
  }
  else{
    for($i = 0; $i <= sizeof($argv); $i++){
      listDir($argv[$i]);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

PHP Notice:  Undefined variable: argc in /home/me/test.php on line 15
Run Code Online (Sandbox Code Playgroud)

我认为$ argv和$ argc是全局变量!我怎样才能摆脱这个错误?谢谢.

Tas*_*ios 23

添加一个

global $argc, $argv;
Run Code Online (Sandbox Code Playgroud)

function main() {
Run Code Online (Sandbox Code Playgroud)

这些变量属于全局范围,但不在函数范围内.global关键字导入它们.

  • 好答案!+1 @Bart为什么不在downvote之前测试? (3认同)
  • 这些变量是全局变量。因此,再次将它们声明为全局是毫无意义的。 (2认同)

aqm*_*aqm 6

你可能想做

$argc = $_SERVER['argc'];
$argv = $_SERVER['argv'];
Run Code Online (Sandbox Code Playgroud)