いつもお世話になっております。
環境/PHP5
<?php
//開始時刻を記録
$start_time = microtime();
//ユーザ定義関数
user_function($arg);
//終了時刻を記録
$end_time = microtime();
//時刻差を求め、ユーザ定義関数の処理にかかった時間を求めたい
$dif_time = $end_time - $start_time;
//求めた数値を出力
echo $dif_time;
//関数の定義
function user_function($arg){
~処理定義~
}
?>
上記スクリプトの出力結果が、
マイナスの値だったり、プラスの値だったりするのですが、
それはなぜなのでしょう?
-0.238105
だったり、
0.708105
だったりします。
プラスの値で、数字が上下するならまだしも、
値がマイナスになる意味がわかりません。笑
軽くバックトゥザフューチャーしちゃってるのでしょうか。
ともかく、すごく、あてにならない感じなのです。
microtime関数は、結構イイカゲンな仕様なのでしょうか?
No.1ベストアンサー
- 回答日時:
引数にtrueを追加して再チャレンジしてください。
---引用----------------------------------
オプション引数を付けずにコールされた場合、この関数は文字列 "msec sec" を返します。ただし、sec は Unix エポック (1970 年 1 月 1 日 0:00:00 GMT) から計算した秒数、msec はマイクロ秒の部分です。 文字列のそれぞれの部分は秒単位で返されます。
------------------------------------------
尚、PHPマニュアルは、
http://jp2.php.net/{関数名}
とURLを叩けば説明が出てきます。
ついでに下のほうに、ユーザの投稿もかなり参考になるので、
もし挙動がおかしいことがあったらまずは引数とか確認してみましょう。
私はstrposやarray_searchの引数順が覚えられなくてヘビーローテでこの二つを検索してます(笑)
まったくお恥ずかしい。苦笑
自分に言いたいです。
「ちゃんと、PHPマニュアルを読もうよ」と。苦笑
ということで、読んできました。
方法としては、hogehoge78さんが書かれていた「true」を使う方法と
$array = explode(" ",microtime());
$start_time = $array[0] + $array[1];
とする方法とがあるみたいですね。
結果はどちらも同じようですが、trueの方が楽ちんですね。
>http://jp2.php.net/{関数名}
!!
良いことを知りました。笑
>strposやarray_searchの引数順が覚えられなくてヘビーローテ
あ~、私は最近、
sqlite_query()の引数には順番がない事を知り、愕然としました。笑
引数を前後逆にしても、問題なく動くのでした。
No.2
- 回答日時:
microtime()の返す値を誤解しているからでは?
"マイクロ秒 秒"
のマイクロ秒部分同士だけ引くと、プラスだったりマイナスだったりして当然です。秒部分も引かないと。
はい~、よく分かりました^^
>マイクロ秒部分同士だけ引くと、プラスだったりマイナスだったりして当然
符号が逆になる意味も、よく分かりました。
それを踏まえ、再挑戦してみた所、数字がマイナスになることはなくなりましたが、
平均して、0.896732091904くらいだった数字が、
突然、上がることがあるんですよね…。
5.746732091904
くらいに。爆
排水口に毛でも詰まっているのでしょうかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- 高校 数学Ⅰの一次関数について。 6 2023/08/15 02:15
- Excel(エクセル) TEXT関数(負の値)を集計のため数値に変換したい 5 2022/05/15 23:04
- Excel(エクセル) excelにて、ある固定値から連番を振りたいが、上限値が異なる連番を振る処理を複数回行いたい場合 6 2022/10/22 11:01
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付を基にした乱数生成
-
PHPのif文「POSTしていな...
-
POSTされたかどうか確かめる方...
-
「次の10件を表示する」のよ...
-
ナベアツプログラム(3の倍数...
-
DTOとEntityの差は何ですか。
-
「取得先」という表現について
-
バッチファイルでpingの結果を...
-
Yahoo! JAPAN IDを新規取得でき...
-
WordでExcelデータを差込...
-
format関数について
-
switch()文で値の大小比較
-
Dosブロンプトでtabを出力したい
-
EXCEL、マクロ-改ページ行番号...
-
【C#】DataGridViewの最大列数...
-
イベントログ情報の取得順番に...
-
ミュージックのアートワークを...
-
GETのメリットについて
-
VB.NETからVBAマクロ(引数)を呼...
-
IPアドレスとMACアドレスを取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付を基にした乱数生成
-
<A href ~で複数の値を渡したい
-
「次の10件を表示する」のよ...
-
PHPでwait処理ってできます?
-
POSTされたかどうか確かめる方...
-
PHPのif文「POSTしていな...
-
テーブルに送信ボタンをつける
-
PHPでのNULLの正規表現
-
PHP フラグ
-
if文の複数条件。
-
if (isset($_a)&&$_a)この意味は
-
逆順表示したい?
-
PHP ハイパーリンク
-
Luaにて、and or の組み合わせ...
-
null代入とunset()の違いについて
-
SQLのデータを分割してブラウザ...
-
$_SERVER["QUERY_STRING"]の仕...
-
whileループの中でフォーム入力...
-
switch文で2つ以上の変数の値...
-
parse_ini_fileでダブルクォー...
おすすめ情報