欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp手册中函数的可选参数的中括号为什么是包含的关系?

程序员文章站 2024-02-17 16:48:28
...
比如:
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

中括号内的可选参数,为什么是这样写的:
比如第一个可选参数array &$matches 的前一个参数后台加了个[,
为什么加上前面那个参数去了?

另外,手册中这样的写法,给人的感觉是:
$matches包括$flags,而$flags包含$offset
为什么要这样写?

这些参数之间,真的存在包含的关系吗?

回复内容:

比如:

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

中括号内的可选参数,为什么是这样写的:
比如第一个可选参数array &$matches 的前一个参数后台加了个[,
为什么加上前面那个参数去了?

另外,手册中这样的写法,给人的感觉是:
$matches包括$flags,而$flags包含$offset
为什么要这样写?

这些参数之间,真的存在包含的关系吗?

理解成可选的依赖关系会比较好,例如flagsmatches的可选依赖,也就是说,当你提供matches参数时,你可以选择提供flags来和matches一起工作,也就是说,没有matches,单独的flags也就没作用了。