php 脚本接收参数
argv数组变量 索引数组
//执行
php demo.php a b c
//代码打印
var_dump($argv);
//输出结果 结果第一项是执行文件名
array(4) {
[0]=>
string(8) "demo.php"
[1]=>
string(1) "a"
[2]=>
string(1) "b"
[3]=>
string(1) "c"
}
getopt方法 关联数组
方式一
//执行
php demo.php -d=D -a A -c C -e 100
//代码打印
var_dump(getopt('a:b:c:d::e'));
//输出结果
array(4) {
["d"]=>
string(1) "D"
["a"]=>
string(1) "A"
["c"]=>
string(1) "C"
["e"]=>
bool(false)
}
//规则
字符后面:
此选项需要值 如果 php demo.php -a -c C 则打印结果为 a=>'-c' c项受影响
字符后面没有:
不接收值
字符后面::
此选项为可选且只能用=传递值 如果 php demo.php -d -a A 则打印结果 d=false 其他项不影响
方式二
//执行
php demo.php --d=D --a A --c C --e 100
//代码打印
$rule = array(
'a:',
'b:',
'c:',
'd::',
'e'
);
var_dump(getopt('', $rule));
//输出结果
array(4) {
["d"]=>
string(1) "D"
["a"]=>
string(1) "A"
["c"]=>
string(1) "C"
["e"]=>
bool(false)
}
询问参数 交互
fwrite(STDOUT,'请输入姓名:');
$name = trim(fgets(STDIN));
var_dump($name);
判断是否是cli模式
php_sapi_name() == 'cli'
|