2

Fast-CGI で PHP 5.3.5 を使用しています。

を使用してパラメーターの初期値を設定しようとするとgmdate()、次のエラーが発生します。

解析エラー: 構文エラー、予期しない '('、')' が MyClass.php の 3 行目にあります

これが私のコードです(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 に答える