$argv
传递给脚本的参数数组
说明
包含当运行于命令行下时传递给当前脚本的参数的数组。
Note:第一个参数总是当前脚本的文件名,因此$argv[0]就是脚本文件名。
Note:这个变量仅在register_argc_argv打开时可用。
范例
Example #1$argv范例
<?php var_dump($argv); ?>
当使用这个命令执行:php script.php arg1 arg2 arg3
以上例程的输出类似于:
array(4) { [0]=> string(10) "script.php" [1]=> string(4) "arg1" [2]=> string(4) "arg2" [3]=> string(4) "arg3" }
参见
getopt()
从命令行参数列表中获取选项
Please note that, $argv and $argc need to be declared global, while trying to access within a class method. <?php class A { public static function b() { var_dump($argv); var_dump(isset($argv)); } } A::b(); ?> will output NULL bool(false) with a notice of "Undefined variable ..." whereas global $argv fixes that.
To use $_GET so you dont need to support both if it could be used from command line and from web browser. foreach ($argv as $arg) { $e=explode("=",$arg); if(count($e)==2) $_GET[$e[0]]=$e[1]; else $_GET[$e[0]]=0; }
Sometimes $argv can be null, such as when "register-argc-argv" is set to false. In some cases I've found the variable is populated correctly when running "php-cli" instead of just "php" from the command line (or cron).
If you come from a shell scripting background, you might expect to find this topic under the heading "positional parameters".