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

古いバージョンの PHP のように、値の戻り関数を直接インデックス化することはできません。これは、パーサーのバグが 5.x でのみ修正されたためです。一時変数を使用する必要があります。

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