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
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
$argv
Референца за `reserved.variables.argv.php` со подобрена типографија и навигација.
$argv
(PHP 4, PHP 5, PHP 7, PHP 8)
$argv — Низа од аргументи предадени на скриптата
= NULL
Содржи array од сите аргументи предадени на скриптата кога се стартува од командна линија.
Забелешка: Првиот аргумент $argv[0] секогаш е името што се користеше за стартување на скриптата.
Забелешка: Оваа променлива не е достапна кога register_argc_argv е оневозможено.
За да тестирате дали скрипта се стартува од командната линија, php_sapi_name() треба да се користи наместо проверување дали $argv or $_SERVER['argv'] е поставено.
Примери
Пример #1 $argv example
<?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'].
Белешки од корисници 6 белешки
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;
}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.If you come from a shell scripting background, you might expect to find this topic under the heading "positional parameters".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).