PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのusleep()関数とは?使い方とサンプルコードを徹底解説

PHPのusleep()関数は、現在実行中のスクリプトの処理を指定したマイクロ秒(1秒 = 1,000,000マイクロ秒)だけ一時停止させるための関数です。処理の間隔を細かく制御したい場合や、APIへのリクエストに待機時間を挿入したい場合などに活用できます。

基本構文

usleep(msec)

パラメータ

  • msec − スクリプトの実行を遅延させたい時間をマイクロ秒単位で指定します。例えば、2秒待ちたい場合は「2000000」を指定します。

戻り値

usleep()関数は何も返しません(void)。指定した時間が経過するまで、単純にスクリプトの実行を停止します。

使用例

以下の例では、現在時刻を表示した後にusleep()関数で処理を一時停止し、再度時刻を表示しています。

<?php
   echo date('h:i:s') . "<br>";
   // 2秒間待機(200万マイクロ秒)
   usleep(2000000);
   echo date('h:i:s') . "<br>";
   // 5秒間待機(500万マイクロ秒)
   usleep(5000000);
   echo date('h:i:s');
?>

出力結果

03:06:08
03:06:10
03:06:15

このように、最初の時刻表示から2秒後、さらにその5秒後に次の時刻が表示されていることが確認できます。

sleep()関数との違い

PHPには似た関数としてsleep()がありますが、こちらは秒単位でしか待機時間を指定できません。より細かい制御が必要な場合は、マイクロ秒単位で指定できるusleep()関数を使用しましょう。

注意点

  • Webアプリケーションで長い待機時間を設定すると、ユーザーの体感速度が大きく低下するため注意が必要です。

  • サーバーのタイムアウト設定によっては、長時間の待機処理が中断される場合があります。

  1. PHPのnext()関数の使い方|配列の内部ポインタを進める方法

    next()関数とはPHPのnext()関数は、配列の内部ポインタを次の要素へ進め、進めた先の要素の値を返すための関数です。配列には内部的なポインタが存在し、current()で現在位置の値を取得したり、next()で要素を順番に辿ったりすることができます。構文next(arr)パラメータarr − 操作対象となる配列戻り値next()関数は、成功した場合に配列内の次の要素の値を返します。それ以上要素が存在しない場合はFALSEを返します。使用例以下はnext()関数の基本的な使用例です。<?php $os = array(windows, mac, linux, solaris); e

  2. PHPのend()関数とは?使い方と実例をわかりやすく解説

    PHPのend()関数は、配列の内部ポインタを最後の要素へ移動させるための関数です。この関数を呼び出すと、内部ポインタが配列の末尾の要素を指すようになり、その要素の値を取得できます。 構文 end(arr) パラメータ arr − 内部ポインタを移動させたい対象の配列を指定します。 戻り値 end()関数は、成功した場合に配列の最後の要素の値を返します。配列が空の場合はFALSEを返します。 使用例 以下は、end()関数を使って配列の最後の要素を取得する基本的な例です。 <?php $os = array(windows, mac, linux, solaris); echo en