函数参数中的gmdate()给出了解析错误

时间:2012-05-10 18:13:04

标签: php

我正在使用PHP 5.3.5和Fast-CGI。

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

  

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

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

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

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

2 个答案:

答案 0 :(得分:3)

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

function myFunction($myDate = '') {
    $myDate = (!empty($myDate)) ? $myDate :  gmdate('Y-m-d');
    // ...
}

答案 1 :(得分:1)

包括验证:

function myFunction($myDate = '')
{
    $myDate = preg_match('/\d{4}\-\d{2}\-\d{2}/', $myDate) ? $myDate : gmdate('Y-m-d');
    // ...
}