例如这个函数...
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
它需要字符串$pattern
和$subject
. 然而,什么是[
?
这就是函数文档如何指示可选参数的方式
这是来自 Unix 系统的使用消息的旧约定:
在类 Unix 平台上,使用消息往往遵循用户熟悉的相同常用模式。它们通常以“用法:”(因此可能是名称)、命令开头,然后是参数列表。为了表示可选参数,方括号是常用的,也可以用于对必须一起指定的参数进行分组。专有参数可以通过在组内用竖线分隔来表示。
这是一个基于 NetBSD 源代码样式指南的完整示例:
用法:程序 [-aDde] [-f | -g] [-n 数字] [-b b_arg | -c c_arg] req1 req2 [opt1 [opt2]]
这表明“程序”应该被调用:
- 没有操作数的选项:a、D、d、e(其中任何一个都可以省略)。请注意,在这种情况下,某些参数区分大小写
- 独占选项:f、g(用竖线表示)
- 带有操作数的选项:n
- 具有操作数的独占选项:b、c
- 所需参数:req1、req2
- 可选参数 opt1,可以与 opt2 一起使用,也可以不与 opt2 一起使用(通过使用另一组方括号在组内标记为可选)
- 可选参数 opt2,需要 opt1