php getopt

php中的getop是用于接收cmd参数的时候用的
例如当你再linxu 中 需要用php调试的时候,往往需要带参数调试
getopt就是可以实现带参数传入的命令

?
使用方式:
    array getopt ( string$options [, array$longopts ] )
string 形如 字符[:]字符[:]如 f:hg:字符表示可以接受命令行包含形如-字符的参数如 -f,字符后面的冒号:表示,当冒号前面的字符出现在参数中时,后面必须跟该参数对应的取整
如 -fname

note: 包含当运行于 命令行下时传递给当前脚本的参数的数组。

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 );
?>
php script.php -f "value for f" -v -a --required value --optional="optional value" --option will output:
输出:
?
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)
}

05-26
`getopt` 是一个用于解析命令行参数的 C 函数,它可以帮助程序员在命令行中获取输入的参数。 `getopt` 会检查命令行参数中以单破折线(-)或双破折线(--)开头的选项。如果选项后面需要跟一个参数,则可以使用空格或等号来分隔选项和参数。例如,使用 `-o output.txt` 或 `--output=output.txt` 来指定输出文件名。 `getopt` 函数的使用需要包含头文件 `getopt.h`。常用的函数包括 `getopt` 和 `getopt_long`。`getopt` 用于解析简单的命令行选项,而 `getopt_long` 则支持更复杂的选项,例如长选项名(long options)和选项的描述信息。 下面是一个示例代码,演示了如何使用 `getopt` 函数解析命令行参数: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char **argv) { int opt; char *output_file = NULL; while ((opt = getopt(argc, argv, "o:")) != -1) { switch (opt) { case 'o': output_file = optarg; break; default: fprintf(stderr, "Usage: %s [-o output_file]\n", argv[0]); exit(EXIT_FAILURE); } } printf("Output file: %s\n", output_file ? output_file : "stdout"); return 0; } ``` 在上面的代码中,我们使用 `getopt` 函数来解析命令行参数。选项字符串 `"o:"` 表示程序支持一个 `-o` 选项,该选项需要一个参数。如果解析成功,`getopt` 函数返回该选项的字符表示(即 `'o'`),并将选项参数保存在全局变量 `optarg` 中。如果解析失败,`getopt` 函数返回 `-1`。 程序中还使用了标准的错误输出 `stderr` 和退出函数 `exit` 来处理错误情况。最后,程序输出解析结果,并退出。 注意,该示例代码仅用于演示 `getopt` 函数的基本用法,实际应用中可能需要更复杂的选项解析和错误处理逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值