PHP 中 getopt 函数的用法

命令行执行脚本时,传入参数

php test.php -a 100 -b 200 -c 300 -d 400

array getopt ( string $options [, array $longopts ] )

Gets options from the command line argument list,This function will return an array of option / argument pairs or FALSE on failure.

接收来自命令行传入的参数列表,一个字符代表一个参数。

例:$options = "a:b:c:d";

冒号“:”  代表该选项需要值。

$options中的每个字符与选项字符相对应。

比如一个选项字符"a"对应一个选项"-a"。

注意:选项字符只能是 a-z 和 0-9,不能为空格。


$options 参数有以下格式的选项:

1、单独的字符:不接收值。

2、字符后跟一个冒号:必须传值。

3、字符后跟两个冒号:可选择传值。

一个选项字符后紧跟着相应的值,在值和选项字符中间,可以有多个空格。


例:$longopts = array('usrid:', 'msgid:', 'pass:');

$longopts中的每一个元素对应一个选项。

比如一个元素"usrid"对应一个选项"--usrid"。

例:php test.php --usrid=100 --msgid=200 --pass=asfasf


传入的参数和值之间,是支持加等号"="的。

<?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);
?>

执行以下脚本:

php script.php -f "value for f" -v -a --required value --optional="optional value" --option


输出:

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)
}
再看一个例子:

<?php
$options = getopt("abc");
var_dump($options);
?>


执行以下脚本:
php script.php -aaac

输出:
array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值