2013-01-19 36 views
4

该功能例如...PHP文档中的参数,方括号?

int preg_match_all (string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]]) 

它采用串$pattern$subject。但是,[是什么?

+0

这是一个文档语法 - 您实际上并没有将方括号放入代码中。 – halfer

+1

请参阅http://stackoverflow.com/questions/10053286/intx-base-square-brackets-in-functions-in-python-documentation –

回答

7

这是一个函数的文档如何指示可选参数

+0

例如,我可以跳过第一个可选参数(&$匹配),但最后一个可选参数两个在这个例子中? –

+2

@korayTugay unfortunatlely nope。你可以检查默认值是什么,然后通过它。因为函数根据索引计算出参数。如果你正在编写你自己的函数并且想要有无序的可选参数,你可以传递一个数组 – Raekye

+2

@KorayTugay - 否它们是前面参数组中的可选参数(因此是嵌套方括号) – Quentin

3

这是从Unix系统Usage messages一个老惯例:

在类Unix平台上,使用信息往往跟随相同的 用户熟悉的常用模式。它们通常以 “用法:”(因此可能是该名称),该命令以及随后的一列 参数开头。要指示可选参数,方括号 通常使用,并且也可以用于将必须一起指定的参数 分组。独占参数可以用 表示,用组内的竖条分隔。

这里是基于NetBSD的源代码样式的透彻示例 指南:

用法:程序[-aDde] [-f | -g] [-n数字] [-b b_arg | -c c_arg] REQ1 REQ2 [OPT1 [OPT2]]

这表明 “方案” 应被调用:

  • 选项,而不操作数:一,d,d,E(其中任何一个可以省略)。注意,在这种情况下,一些参数是大小写敏感的
  • 排斥的选项:F,G(由竖线表示)
  • 选项与操作数:N
  • 排斥的选项与操作数:B,C
  • 需要参数:REQ1,REQ2
  • 可选参数OPT1,其可以具有或不具有OPT2使用
  • 可选参数OPT2,这需要OPT1
(通过使用另一组方括号的标记组内的可选)