Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么有些数组参数在左括号后有逗号?_Php_Jquery_Codeigniter - Fatal编程技术网

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使用它,您还可以在函数上看到嵌套可选参数的示例,其中一些可选参数也有自己的可选参数集。