如何在 php 文件中模拟 args?

发布于 2024-08-23 22:53:20 字数 128 浏览 8 评论 0原文

PHP file.php arg1 arg2

现在我想将arg1arg2硬编码到file.php中,该怎么做?

PHP file.php arg1 arg2

Now I want to hardcode arg1 and arg2 into file.php,how to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一抹苦笑 2024-08-30 22:53:20

我从未尝试过,但参数包含在某个数组 $argv 中。因此,如果您想对它们进行硬编码,则必须设置这些条目:

$argc = 3; // number of arguments + 1
$argv[0] = 'file.php'; // contains script name
$argv[1] = 'arg1';
$argv[2] = 'arg2';

$argv保留变量

但请注意,通过命令行指定的前两个参数将始终被 arg1arg2 覆盖。

相反,如果您始终在脚本中需要这些值,则应该将它们定义为脚本顶部的普通变量:

$var1 = 'arg1';
$var2 = 'arg2';

甚至定义为常量:

define('CONST1', 'arg1');
define('CONST2', 'arg2');

如果您只想提供 arg1、arg2< /code> 通过命令行作为参数,然后您可以通过 $argv[1]$argv[2] 访问它们,无需搞乱 $argv;

I never tried it, but the arguments are contained in a certain array $argv. So you have to set those entries if you want to hardcode them:

$argc = 3; // number of arguments + 1
$argv[0] = 'file.php'; // contains script name
$argv[1] = 'arg1';
$argv[2] = 'arg2';

$argv is a reserved variable.

But note that the first two parameter that you specify via command line will always be overwritten by arg1 and arg2.

Instead, if you need these values always in your script you should define them as normal variables at the top of your script:

$var1 = 'arg1';
$var2 = 'arg2';

or even as constants:

define('CONST1', 'arg1');
define('CONST2', 'arg2');

If you only want to provide arg1, arg2 as parameter via the command line, then you can just access them via $argv[1] and $argv[2], no need to mess with $argv;

凶凌 2024-08-30 22:53:20

您可以在 php 脚本中使用 argv() 来获取参数

foreach ($argv as $args){
  print $args."\n";
}

元素 0 包含脚本名称。其余的是论点。

you would use argv() inside your php script to get the arguments

foreach ($argv as $args){
  print $args."\n";
}

element 0 contains the script name. the rest are the arguments.

メ斷腸人バ 2024-08-30 22:53:20

您想要测试函数有多少个参数,然后执行相应的操作。

 function foo()
    {
       $numargs = func_num_args();
       echo "Number of arguments: $numargs<br />\n";
       if ($numargs >= 2) {
           echo "Second argument is: " . func_get_arg(1) . "<br />\n";
       }
       $arg_list = func_get_args();
       for ($i = 0; $i < $numargs; $i++) {
           echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
       }
    }

    foo(1, 2, 3);

You want to test how many arguments to the function, then do something accordingly.

 function foo()
    {
       $numargs = func_num_args();
       echo "Number of arguments: $numargs<br />\n";
       if ($numargs >= 2) {
           echo "Second argument is: " . func_get_arg(1) . "<br />\n";
       }
       $arg_list = func_get_args();
       for ($i = 0; $i < $numargs; $i++) {
           echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
       }
    }

    foo(1, 2, 3);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文