[php]如何设定一个函数的某参数可有可无?

function getdata($a,$b,$c){
...
};

现在我想要$c参数可有可无,不加也不报错。

给参数设定默认值,但只能是最后面的参数可省略,如果带默认值的参数放在中间的话,那么就得在中间多留个逗号分开,下面给几个例子:
function getdata($a,$b,$c=0){
....
}
上面这段在调用的时候可以只给两个参数,第三个参数默认值为0
调用方法:getdata(1,1)
==========================================================
function getdata($a,$b=1,$c){
....
}
这段在调用的时候就要在中间多留个逗号了,如:getdata(1,,0)
==========================================================
function getdata($a,$b=0,$c=1){
....
}
这段的调用可以这样:getdata(1)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-30
一些参数参考
下列选项的值将被作为长整形使用(在option参数中指定):
CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。
CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。
CURLOPT_HEADER: 如果你想把一个头包含在输出中,设置这个选项为一个非零值。
CURLOPT_NOPROGRESS: 如果你不会PHP为CURL传输显示一个进程条,设置这个选项为一个非零值。
注意:PHP自动设置这个选项为非零值,你应该仅仅为了调试的目的来改变这个选项。
CURLOPT_NOBODY: 如果你不想在输出中包含body部分,设置这个选项为一个非零值。
CURLOPT_FAILONERROR: 如果你想让PHP在发生错误(HTTP代码返回大于等于300)时,不显示,设置这个选项为一人非零值。默认行为是返回一个正常页,忽略代码。
CURLOPT_UPLOAD: 如果你想让PHP为上传做准备,设置这个选项为一个非零值。
CURLOPT_POST: 如果你想PHP去做一个正规的HTTP POST,设置这个选项为一个非零值。这个POST是普通的 application/x-www-from-urlencoded 类型,多数被HTML表单使用。
CURLOPT_FTPLISTONLY: 设置这个选项为非零值,PHP将列出FTP的目录名列表。
CURLOPT_FTPAPPEND: 设置这个选项为一个非零值,PHP将应用远程文件代替覆盖它。
CURLOPT_NETRC: 设置这个选项为一个非零值,PHP将在你的 ~./netrc 文件中查找你要建立连接的远程站点的用户名及密码。
CURLOPT_FOLLOWLOCATION: 设置这个选项为一个非零值(象 ‘Location: ‘)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 ‘Location: ‘的头)。
CURLOPT_PUT: 设置这个选项为一个非零值去用HTTP上传一个文件。要上传这个文件必须设置CURLOPT_INFILE和CURLOPT_INFILESIZE选项.
CURLOPT_MUTE: 设置这个选项为一个非零值,PHP对于CURL函数将完全沉默。
CURLOPT_TIMEOUT: 设置一个长整形数,作为最大延续多少秒。
第2个回答  2009-10-23
在定义函数的时候给参数设定一个莫认真,从右到左的顺序~
function myFun($a,$b,$c)//三个必须参数
function myFun($a,$b,$c='')//两个必须参数
function myFun($a,$b='',$c)//两个必须参数,但是这种情况经常会导致疏忽,直接调用myFun(1,2);这个是错误的调用,2是赋值给$b参数的,而必须的c参数却没有值,所以才推荐可选参数放在参数的右边~
第3个回答  2009-10-23
默认参数

function getdata($a,$b,$c=false){
...
};

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网