$argv
(PHP 4, PHP 5, PHP 7, PHP 8)
$argv — スクリプトに渡された引数の配列
説明
コマンドラインから実行したときに、 現在のスクリプトに渡されたすべての引数の配列が含まれます。
注意: 最初の引数 $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'] としても使用可能です。
+add a note
User Contributed Notes 6 notes
tufan dot oezduman at googlemail dot com ¶
13 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.
hamboy75 at example dot com ¶
11 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;
}
Steve Schmitt ¶
15 years ago
If you come from a shell scripting background, you might expect to find this topic under the heading "positional parameters".
php at simoneast dot net ¶
9 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).
Radon8472 ¶
3 years ago
I discovered that `register_argc_argv` is alway OFF if you use php internal webserver, even if it is set to `On` in the php.ini.
What means there seems to be no way to access argv / argc in php internal commandline server.
vatruski at t dot me ¶
1 year ago
You can reinitialize the argument variables for web applications.
So if you created a command line, with some additional tweaks you can make it work on the web.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google