dismiss Step into the future! Click here to switch to the beta php.net site
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Predefined Exceptions> <$argc
[edit] Last updated: Fri, 28 Jun 2013

view this page in

$argv

(PHP 4, PHP 5)

$argvArray of arguments passed to script

Description

Contains an array of all the arguments passed to the script when running from the command line.

Note: The first argument $argv[0] is always the name that was used to run the script.

Note: This variable is not available when register_argc_argv is disabled.

Examples

Example #1 $argv example

<?php
var_dump
($argv);
?>

When executing the example with: php script.php arg1 arg2 arg3

The above example will output something similar to:

array(4) {
  [0]=>
  string(10) "script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

See Also

  • getopt() - Gets options from the command line argument list



Predefined Exceptions> <$argc
[edit] Last updated: Fri, 28 Jun 2013
 
add a note add a note User Contributed Notes $argv - [4 notes]
up
7
tufan dot oezduman at googlemail dot com
1 year 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
3
Steve Schmitt
3 years ago
If you come from a shell scripting background, you might expect to find this topic under the heading "positional parameters".
up
-1
Jesse
5 months ago
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.
up
-2
karsten at typo3 dot org
4 years ago
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

 
show source | credits | stats | sitemap | contact | advertising | mirror sites