php中的getop是用于接收cmd参数的时候用的
例如当你再linxu 中 需要用php调试的时候,往往需要带参数调试
getopt就是可以实现带参数传入的命令
使用方式:
|
array
getopt (
string$options [,
array$longopts ] )
string 形如 字符[:]字符[:]如 f:hg:字符表示可以接受命令行包含形如-字符的参数如 -f,字符后面的冒号:表示,当冒号前面的字符出现在参数中时,后面必须跟该参数对应的取整
如 -fname
note: 包含当运行于
命令行下时传递给当前脚本的参数的数组。
string 形如 字符[:]字符[:]如 f:hg:字符表示可以接受命令行包含形如-字符的参数如 -f,字符后面的冒号:表示,当冒号前面的字符出现在参数中时,后面必须跟该参数对应的取整
如 -fname
Note: 这个变量仅在 register_argc_argv 打开时可用。
例1: 首先认识一下php变量 $argv
<?php
var_dump(
$argv
);
?>
|
使用命令: php script.php arg1 arg2 arg3
则会输出以下内容:
array
(4) {
[0]=>
string(10)
"script.php"
[1]=>
string(4)
"arg1"
[2]=>
string(4)
"arg2"
[3]=>
string(4)
"arg3"
}
|
例2: getopt 简单示例
<?php
$options
=
getopt
(
"f:hp:"
);
var_dump(
$options
);
?>
|
使用命令: php script.php -f value -h 或者 php script.php -fvalue -h
则会输出一下内容:
array
(2) {
[
"f"
]=>
string(5)
"value"
[
"h"
]=>
bool(false)
}
|
例3:getopt
<?php
$shortopts
=
""
;
$shortopts
.=
"f:"
;
// Required value
$shortopts
.=
"v::"
;
// Optional value
$shortopts
.=
"abc"
;
// These options do not accept values
$longopts
=
array
(
"required:"
,
// Required value
"optional::"
,
// Optional value
"option"
,
// No value
"opt"
,
// No value
);
$options
=
getopt
(
$shortopts
,
$longopts
);
var_dump(
$options
);
?>
|
输出:
array
(6) {
[
"f"
]=>
string(11)
"value for f"
[
"v"
]=>
bool(false)
[
"a"
]=>
bool(false)
[
"required"
]=>
string(5)
"value"
[
"optional"
]=>
string(14)
"optional value"
[
"option"
]=>
bool(false)
}