PHP file.php arg1 arg2
现在我想硬编码arg1
并arg2
进入file.php
,怎么做?
我从未尝试过,但参数包含在某个数组$argv
中。因此,如果要对它们进行硬编码,则必须设置这些条目:
$argc = 3; // number of arguments + 1
$argv[0] = 'file.php'; // contains script name
$argv[1] = 'arg1';
$argv[2] = 'arg2';
$argv
是一个保留变量。
但请注意,您通过命令行指定的前两个参数将始终被arg1
and覆盖arg2
。
相反,如果您在脚本中始终需要这些值,则应在脚本顶部将它们定义为普通变量:
$var1 = 'arg1';
$var2 = 'arg2';
甚至作为常数:
define('CONST1', 'arg1');
define('CONST2', 'arg2');
如果您只想通过命令行提供arg1
,arg2
作为参数,那么您可以通过$argv[1]
and访问它们$argv[2]
,无需弄乱$argv
;
你想测试函数有多少参数,然后做相应的事情。
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);