可能重复:
我可以使用函数在php中返回默认参数吗
在PHP函数中使用函数结果作为默认参数
我正在尝试为一个函数设置默认值。我希望函数$expires
的默认值为time() + 604800
。
我正在尝试
public function set($name,$value,$expires = time()+604800) {
echo $expires;
return setcookie($name, $value, $expires);
}
但我犯了一个错误。
分析错误:语法错误,第38行/var/www/running/8ima/lib/cookies.lib.php中出现意外的"(",应为")"
我该怎么写?
$expires = time()+604800
在函数定义中。
默认值不能是函数的结果,只能是简单值Q参考手册:
默认值必须是常量表达式,而不是(例如)变量、类成员或函数调用。
用途:
public function set($name,$value,$expires = NULL) {
if (is_null($expires))
$expires = time()+604800;
echo $expires;
return setcookie($name, $value, $expires);
}
不能在params声明中使用函数调用。
这样做:
public function set($name,$value,$expires = null) {
if(is_null($expires)) $expires = time()+604800;
echo $expires;
return setcookie($name, $value, $expires);
}
试试这个:
public function set($name,$value,$expires = NULL) {
if(is_null($expires)) {
$expires = time() + 604800;
}
echo $expires;
return setcookie($name, $value, $expires);
}
您可以进行
public function set($name,$value,$expires = null) {
if($expires === null){$expires = time()+604800);
echo $expires;
return setcookie($name, $value, $expires);
}