预定义变量
在线手册:中文  英文

$argv

$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"
}

参见


预定义变量
在线手册:中文  英文

用户评论:

Jesse (2013-01-30 23:55:00)

If your script is read from standard input or with the -r option, $argv[0] will be "-".
If you use the "--" option to separate PHP's arguments from your script's arguments, $argv[1] will be "--" if your script is read from a file. But if your script is read from standard input or with the -r option, the "--" will be removed.

tufan dot oezduman at googlemail dot com (2011-08-22 09:06:45)

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.

Steve Schmitt (2009-09-14 16:57:25)

If you come from a shell scripting background, you might expect to find this topic under the heading "positional parameters".

karsten at typo3 dot org (2009-02-18 00:48:48)

Note: when using CLI $argv (as well as $argc) is always available, regardless of register_argc_argv, as explained at http://docs.php.net/manual/en/features.commandline.php

易百教程