作用
之前的文章有介绍到php的cli模式,这个函数就使用于cli模式,作用就是获取命令行中的参数。
语法
php手册中的语法介绍
getopt ( string $options [, array $longopts [, int &$optind ]] ) : array
参数如下
options
该字符串中的每个字符会被当做选项字符,匹配传入脚本的选项以单个连字符(-)开头。 比如,一个选项字符串 "x" 识别了一个选项 -x。
longopts
选项数组。此数组中的每个元素会被作为选项字符串,匹配了以两个连字符(--)传入到脚本的选项。 例如,长选项元素 "opt" 识别了一个选项 --opt。
options
可能包含了以下元素:
- 单独的字符(不接受值)
- 后面跟随冒号的字符(此选项需要值)
- 后面跟随两个冒号的字符(此选项的值可选)
示例
1.options示例,接受的参数是-开头的,而且参数只能是一个字符( 只允许 a-z、A-Z 和 0-9)。
<?php
$options = getopt("n:a:");
//n:name
//a:age
var_dump($options);
die;
以下是执行结果
2.longopts示例,接受的是--开头的参数
<?php
$options = getopt('', ['age:', 'name:']);
var_dump($options);
die;
以下是执行结果
重点
需要记住是
options时接受的声明元素是单个字符,并且调用时是:冒号形式
longopts接受参数不能是冒号,可以是=等号或者是空格