【发布时间】:2013-04-04 08:15:45
【问题描述】:
尝试使用 argv 变量和 getopt() 似乎不起作用。任何人都知道除了使用所有 - 或 - 选项之外的解决方法:
<?php
$arr[] = "test:";
$options = getopt(NULL, $arr);
echo $options["test"];
?>
上面的简单示例,当我运行时:
php test.php --test="Hello World"
你好世界
php test.php argv --test="Hello World"
没有输出,因为我在它之前放置了一个没有 - 或 - 的值。
【问题讨论】:
-
php.net/getopt - “选项的解析将在找到第一个非选项时结束,随后的任何内容都将被丢弃。”
-
是的,我现在注意到它说:“选项的解析将在找到的第一个非选项处结束,随后的任何内容都将被丢弃。”似乎很不方便。仍然期待解决方法。
-
是的,看起来有点短视。尤其是无法提供函数的输入。
-
尝试使用
$_SERVER['argv'] -
如果你的第一个参数总是一个命令,你可以在处理它之后从 $argv 数组中删除它。例如:$command = $argv[1]; array_shift($argv);
标签: php command-line-interface argv getopt