3

PHP の microtime() は次のようなものを返します。

0.56876200 1385731177 //that's msec sec

その値は、次の形式で必要です。

1385731177056876200 //this is sec msec without space and dot

現在、私はこれをやっています:

$microtime =  microtime();
$microtime_array = explode(" ", $microtime);
$value = $microtime_array[1] . str_replace(".", "", $microtime_array[0]);

これを達成するための1行のコードはありますか?

4

2 に答える 2

6

正規表現を使用して、すべてを 1 行で実行できます。

$value = preg_replace('/(0)\.(\d+) (\d+)/', '$3$1$2', microtime());

<?php
    $microtime = microtime();
    var_dump( $microtime );
    var_dump( preg_replace('/(0)\.(\d+) (\d+)/', '$3$1$2', $microtime) );
?>

出力:

string(21) "0.49323800 1385734417"  
string(19) "1385734417049323800"

デモ

于 2013-11-29T14:09:43.027 に答える