$ argv在一堂课

use*_*878 7 php class argv

我正在使用exec()exec文件,但文件在一个类中,我阅读了更多关于argv的文章,但这令人困惑.我需要让它在课堂上工作.

它说:

请注意,$ argv和$ argc需要在尝试访问类方法时声明为全局

在php.net上

Mar*_*c B 23

这意味着argc/argv不是超级全局 - 它们只能在PHP脚本的顶层上下文中看到,所以......

<?php

$x = $argv[1]; // works

class foo {
   function bar() {
       echo $argv[1]; // undefined
   }
   function baz() {
       global $argv;
       echo $argv[1]; // works
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 这可以通过使用`$ GLOBALS ['argv'] ...`来完成.如果将变量复制到当前作用域或尝试使它们超全局是不可取的. (2认同)