Php 为什么有些数组参数在左括号后有逗号?
这种语法是什么?我看过一些文档,例如:Php 为什么有些数组参数在左括号后有逗号?,php,jquery,codeigniter,Php,Jquery,Codeigniter,这种语法是什么?我看过一些文档,例如: Sizzle(字符串选择器[,DOMNode上下文[,数组结果]]) set\u userdata($data[,$value=NULL])基本上,这意味着[]中的所有参数都是可选的。要使函数调用工作,不需要传递任何内容: foo($param [, $param2 = NULL, $param3 = 1]) $param1和$param2是可选的,$param是必需的。这些括号表示这些参数在语法上是可选的。 这些示例不是代码行,而是语法 有效代码行
Sizzle(字符串选择器[,DOMNode上下文[,数组结果]])
set\u userdata($data[,$value=NULL])
基本上,这意味着[]
中的所有参数都是可选的。要使函数调用工作,不需要传递任何内容:
foo($param [, $param2 = NULL, $param3 = 1])
$param1
和$param2
是可选的,$param是必需的。这些括号表示这些参数在语法上是可选的。
这些示例不是代码行,而是语法
有效代码行:
Sizzle(selector, context, results);
Sizzle(selector, context);
Sizzle(selector);
set_userdata($data, $value);
set_userdata($data);
但是,如果我们看一下@taxicala答案,就会发现另一种情况
foo($param [, $param2 = NULL, $param3 = 1])
有效的代码行是
foo($param, $param2, $param3)
foo($param)
但不是
foo($param, $param2)
我也很纳闷——多次看到类似的示例语法……因为他们可能不希望从
0
开始,而希望从1
开始index@Tushar实际上,这是一个有趣的想法。@Tushar你是什么意思?无论如何,我相信这是可选参数的约定。通常,您会在书面文本中使用括号表示“可选”的内容(如此注释),但由于已将括号用于常规参数,因此您使用方括号表示可选参数。就像在数学中一样,首先使用普通括号,然后是正方形,然后是卷曲的嵌套括号for(var i=1;i在什么语言中他们不必遵循顺序?例如Javascript。因此,在JS中,我可以使用提示符(“Name:”,“Your Name”);
以及提示符(“Your Name”,“Name”)浏览器知道我希望从这个提示中得到什么吗?不知道,但是你在foo($param[,$param2=NULL,$param3=1])中说过
$param1
和$param2
不必遵循顺序。它们必须这样做。如果是PHP,顺序非常重要。这是非常标准的表示法。PHP使用它,您还可以在函数上看到嵌套可选参数的示例,其中一些可选参数也有自己的可选参数集。