在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

复制代码 代码示例:

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的例子

复制代码 代码示例:

$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

复制代码 代码示例:

$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用法,脚本学堂,祝大家学习进步。

php getopt不好使,深入php中getopt的用法详解相关推荐

  1. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

  2. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  3. C#中NameValueCollection类用法详解

    C#中NameValueCollection类用法详解,1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCol ...

  4. c++ memset 语言_C++中memset函数用法详解

    本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常 ...

  5. python中的super用法详解_【Python】【类】super用法详解

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

  6. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  7. java中throws用法_java中throws实例用法详解

    在程序出现异常时,会有一个抛出异常的throw出现,这里我们要跟今天所讲的throws区分开.throws的作用是声明抛出,在名称上也跟throw有所不同.下面我们就throws对策概念.语法.实例带 ...

  8. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  9. STL 中map的用法详解

    STL 中map的用法详解 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可 ...

  10. python中split啥意思_python中split的用法详解_后端开发

    如何用python正则表达式匹配字符串?_后端开发 用python正则表达式匹配字符串的方法:1.当匹配单个位置的字符串时,可以使用[(.+?)]正则表达式来提取:2.当连续多个位置的字符串匹配时,可 ...

最新文章

  1. java.io.FileNotFoundException: /storage/emulated/0/one.mp4 (Permission denied)
  2. Redis入门第二篇【存储数据结构之string类型】
  3. Python print函数不换行操作
  4. 同域下iframe操作时,js访问document出现拒绝访问的问题原因
  5. jozj3419-最大利润【树形dp】
  6. bzoj1008: [HNOI2008]越狱
  7. ArcGIS Maritime Server 开发教程(四)Maritime Service 开发实践
  8. 6D姿态估计算法汇总(上)
  9. linux 格式化查看json文件数据
  10. 菜鸟第一次使用pycharm+mysql+django运行项目
  11. 游戏开发中的贝塞尔曲线,曲线和路径
  12. AEC 声学回声消除
  13. 神经同步预测儿童学习新单词的能力
  14. 前端请求跨域,原来是谷歌浏览器的限制
  15. 软件测试基础:邮箱注册功能测试的测试点
  16. hint: Updates were rejected because a pushed branch tip is behind its remote
  17. oracle数据库中emp表,根据Oracle数据库scott模式下的emp表和dept表
  18. 超前进位加法器(较为详细讲解)
  19. 社区团购小程序源码+界面diy+附近团长+供应商+拼团+菜谱+秒杀+预售+配送+直播
  20. onload--Parameter Reference

热门文章

  1. DataGridView 中发生以下异常: System.Exception: 是 不是 Decimal 的有效值。 ---> System.FormatException: 输入字符串的格式不正确。
  2. 关于微信小程序开发中遇到的缺少game.json问题的解决
  3. SQL SERVER占用服务器内存过高的解决方案
  4. (转)解决multiple definition of的方法
  5. git从master转到开发分支
  6. 无法在终端中显示Git树
  7. 复制活动记录记录的最简单方法是什么?
  8. 当maven说“直到MyRepo的更新间隔过去时,才会重新尝试解析”,该间隔在哪里指定?
  9. 如何在Ruby中写入文件?
  10. 源码编译 busybox