スクリプトを一時停止 - sleep()、usleep()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、指定した引数の時間だけスクリプトを一時停止・遅延する関数 sleep()、usleep()を紹介します。
sleep関数は秒単位、usleep関数はマイクロ秒単位の引数をとります。1秒以下の精度でスクリプトを一時停止させたい場合はulessp関数を、その他の場合はsleep関数を使いましょう。
sleep関数
int sleep ( int $seconds )
引数に指定した秒だけスクリプトを一時停止・遅延します。
引数 $seconds 秒を指定します。
返り値
スクリプトの一時停止に成功した場合は「0」を、その他の場合は、falseを返します。
usleep関数
void usleep ( int $micro_seconds )
指定した引数のマイクロ秒だけスクリプトを一時停止・遅延します。
引数 $seconds マイクロ秒を指定します。
返り値
返り値はありません。
サンプルコード
指定した引数の時間(秒、マイクロ秒)だけスクリプトを一時停止するサンプルコードです。
sleep( 秒 ) usleep( マイクロ秒 )
<?php /* 1秒おきにスクリプトを一時停止 */ for( $i=1;$i<6;$i++ ){ sleep(1); echo $i . "秒\n"; } /* 0.5秒おきにスクリプトを一時停止 */ for( $i=1;$i<11;$i++ ){ usleep(500000); printf("%.1f秒\n", $i * 0.5); } ?>
実行結果です。
指定した引数の時間(ここでは1秒、0.5秒)だけスクリプトが一時停止します。
1秒 2秒 3秒 4秒 5秒 0.5秒 1.0秒 1.5秒 2.0秒 2.5秒 3.0秒 3.5秒 4.0秒 4.5秒 5.0秒