如何在php文件中模拟args?

时间:2010-03-04 07:28:43

标签: php args

PHP file.php arg1 arg2

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

3 个答案:

答案 0 :(得分:1)

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

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

$argvreserved variable

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

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

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

或甚至作为常数:

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

如果您只想通过命令行提供arg1arg2作为参数,那么您只需通过$argv[1]$argv[2]访问它们,无需乱七八糟与$argv;

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

您想测试该函数的参数数量,然后相应地做一些事情。

 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);