$argv

(PHP 4, PHP 5, PHP 7, PHP 8)

$argvМассив переданных скрипту аргументов

Описание

Содержит массив (array) всех аргументов, переданных скрипту при запуске из командной строки.

Замечание: Первый аргумент $argv[0] всегда содержит имя файла запущенного скрипта.

Замечание: Эта переменная недоступна, если register_argc_argv отключён.

Примеры

Пример #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"
}

Примечания

Замечание:

Также доступно как $_SERVER['argv'].

Смотрите также

  • getopt() - Получает параметры из списка аргументов командной строки
  • $argc

add a note add a note

User Contributed Notes 4 notes

up
87
tufan dot oezduman at googlemail dot com
12 years ago
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.
up
28
hamboy75 at example dot com
10 years ago
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;
}
up
2
php at simoneast dot net
8 years ago
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).
up
3
Steve Schmitt
14 years ago
If you come from a shell scripting background, you might expect to find this topic under the heading "positional parameters".
To Top