2

我正在使用带有 Fast-CGI 的 PHP 5.3.5。

当我尝试使用gmdate()设置参数的初始值时,出现以下错误:

解析错误:语法错误,第 3 行 MyClass.php 中出现意外的 '(',期待 ')'

这是我的代码(第 3 行是声明 myFunction 的行):

function myFunction($myDate = gmdate('Y-m-d')) {
    // ...
}

难道我做错了什么?这是一个错误吗?如果我在类函数中做同样的事情,也会发生这种情况。

4

2 回答 2

3

您不能将函数用作函数或方法参数的默认值。

function myFunction($myDate = '') {
    $myDate = (!empty($myDate)) ? $myDate :  gmdate('Y-m-d');
    // ...
}
于 2012-05-10T18:14:04.697 回答
1

包括验证:

function myFunction($myDate = '')
{
    $myDate = preg_match('/\d{4}\-\d{2}\-\d{2}/', $myDate) ? $myDate : gmdate('Y-m-d');
    // ...
}
于 2012-05-10T18:30:37.920 回答