2010-03-04 16 views

回答

1

我从来没有尝试过,但参数包含在某个数组中。所以,你必须设置这些项目,如果你想硬编码他们:

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

reserved variable

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

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

甚至作为常量:

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

相反,如果你在你的脚本总是需要这些值,你应该在你的脚本的顶部将它们定义为普通变量

如果您只想通过命令行提供arg1,arg2作为参数,那么您可以通过$argv[1]和访问它们,无需与混淆;

0

你会使用argv()你的PHP脚本中得到的参数

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

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

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