PHPのsleep()関数とは?スクリプトの実行を指定秒数だけ遅延させる方法
sleep()関数は、現在実行中のスクリプトの処理を指定した秒数だけ一時的に停止(遅延)させるための組み込み関数です。バッチ処理の間隔調整やAPIへのリクエスト頻度の制御など、さまざまな場面で活用できます。
構文
sleep(sec)
パラメータ
sec− スクリプトの実行を遅延させたい秒数を整数で指定します。
戻り値
sleep()関数は、正常に実行された場合に0を返します。シグナルによって中断された場合は、未経過の残り秒数が返されます。
使用例
以下の例では、現在時刻を表示した後に10秒間待機し、さらに5秒間待機してから再度時刻を表示しています。
<?php
echo date('h:i:s') . "<br>";
// 10秒間待機
sleep(10);
echo date('h:i:s') . "<br>";
// 5秒間待機
sleep(5);
echo date('h:i:s');
?>
出力結果
上記のコードを実行すると、以下のように時刻が進んで表示されます。
02:54:50 02:55:00 02:55:05
補足・注意点
秒未満の細かい制御が必要な場合は、マイクロ秒単位で待機できるusleep()関数を使用すると便利です。
Webサーバー環境では、max_execution_timeの設定により長時間の待機がタイムアウトになる可能性があるため、必要に応じてset_time_limit()で実行時間を延ばしてください。
sleep()の実行中はCPUリソースをほぼ消費しないため、ポーリング処理などの負荷対策としても有効です。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのtime_nanosleep()関数とは?構文・パラメータ・使い方を解説
time_nanosleep()関数は、現在のスクリプトの実行を、指定した秒数とナノ秒数の分だけ遅延させるための関数です。sleep()関数は秒単位での待機しかできませんが、time_nanosleep()を使えばナノ秒レベルのきめ細かい時間制御が可能になります。構文time_nanosleep(sec, nsec)パラメータsec − スクリプトの実行を遅延させる秒数を整数で指定します。nsec − 遅延させるナノ秒数(0〜999,999,999)を指定します。1秒 = 1,000,000,000ナノ秒であるため、nsecに1秒以上の値は指定できません。戻り値time_nanosleep()