使用PHP的getopt()之后,我怎么能知道还剩下什么参数呢?
好的,所以PHP有一个内置的getopt()函数,它返回有关用户提供了哪些程序选项的信息。只是,除非我错过了什么,否则它完全无聊了!从手册中:
选项的解析将在找到第一个非选项时结束,随后的任何内容都将被丢弃。
因此,返回一个仅包含有效和已分析选项的数组。您仍然可以通过查看 来查看整个原始命令行,该命令仍未修改,但是您如何判断命令行中停止解析参数的位置?如果要将命令行的其余部分视为其他内容(例如,文件名),则必须知道这一点。getopt()
$argv
getopt()
下面是一个示例...
假设我想设置一个脚本来接受以下参数:
Usage: test [OPTION]... [FILE]...
Options:
-a something
-b something
-c something
然后我可能会这样称呼:getopt()
$args = getopt( 'abc' );
而且,如果我像这样运行脚本:
$ ./test.php -a -bccc file1 file2 file3
我应该期望将以下数组返回给我:
Array
(
[a] =>
[b] =>
[c] => Array
(
[0] =>
[1] =>
[2] =>
)
)
所以问题是这样的:我到底应该如何知道这三个未解析的、非选项的争论始于???FILE
$argv[ 3 ]