之前的文章有介绍到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接受参数不能是冒号,可以是=等号或者是空格