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.
$argv
$argv — آرایه آرگومانهای داده شده به اسکریپت
Description
شامل یک آرایه array از تمام آرگومانٰهای ارسال شده به اسکریپت در حال اجرا از خط فرمان.
Note: اولین آرگومان نام فایل اسکریپت فعلی است بنابراین $argv[0] نام اسکریپت است.
Note: این متغیر تنها در حالی قابل دسترسی است کهregister_argc_argv فعال باشد.
Examples
Example #1 نمونه $argv
<?php
var_dump($argv);
?>
هنگام اجرای نمونه با: 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"
}
tufan dot oezduman at googlemail dot com ¶
1 year ago
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".
Jesse ¶
4 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.
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
