好的,所以 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 ]
???