0

我的这段代码在 PHP5 中工作,但不是 4,我不知道为什么

function now(){
    return intval(
            explode(' ', microtime() )[1] // line 9
           ) * 100 
           +
           intval(
            explode(' ', microtime() )[0]
           * 100
           );
}

(奇怪的缩进是为了帮助我看看我是否能发现任何错误。)

PHP Parse error:  syntax error, unexpected '[' in /a/b/c on line 9

有人看到什么吗?

4

2 回答 2

4

php4 没有数组解引用。你不能那样做explode(' ', microtime() )[1]

您需要使用临时变量。

function now(){
    $time = explode(' ', microtime() );
    return intval(
            $time[1] // line 9
           ) * 100 
           +
           intval(
            $time[0]
           * 100
           );
}
于 2013-05-19T11:37:33.290 回答
2

由于解析器中的错误仅在 5.x 中得到修复,因此您无法像在旧版本的 PHP 中那样直接索引值的返回函数;您必须使用临时变量。

$foo = bar();
$baz = $foo[1];
于 2013-05-19T11:38:19.107 回答