深入php中getopt的用法详解

发布时间:2020-12-14编辑:脚本学堂
本文介绍下,php中有关getopt的详细用法,有需要的朋友参考下吧。

在php中,getop是用于接收cmd参数的。
例如,当在linux中用php调用时,往往需要带参数调用。
那么,在php编程中使用getopt,即可实现带参数传入的命令。

使用方式:
array getopt ( string $options [, array $longopts ] )

注意:
$options字符串中的每个字符将被用来作为选项字符和对传递给脚本用一个连字符开始匹配选项( - )。
例如,一个选项字符“x”对应一个选项-x。只有a - z,A - Z和0-9是允许的空格是不能作为选项字符的。

说明:
包含当运行于命令行下时传递给当前脚本的参数的数组。
这个变量仅在 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)
}

有了以上的介绍,希望有助于大家理解并掌握,php中getopt用法,脚本学堂,祝大家学习进步。