エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


sleepの秒指定は整数のみなので1.5秒はsleep、usleepを組み合わせる

      2024/06/21

1.5秒の遅延設定はsleep、usleepを組み合わせる

 

PHPのプログラムの実行遅延関数は「sleep()」「usleep()」がある

 
今回の記事は、タイトルのままです。
 
プログラムの処理を一定時間止める(遅延させる)場合は「sleep()」「usleep()」を使います。
 
「sleep()」と「usleep()」の違いは、
 「sleep()」は 1秒以上の整数秒の時間を遅延させる
 「usleep()」は、1秒未満の時間を遅延させる
という仕様になっています。
 
つまり、「sleep()」に指定できる秒数は「整数値」のため、「sleep(0.25)」のような設定をしても「0.25秒」ではなく「0秒」の遅延となります。
 
同様に「1.5秒の遅延」をしたい場合に「sleep(1.5)」としても「1.5秒」にはなりません。
 
そのため、「1.5秒の遅延」をしたいときはどうするか。
下記のように「sleep()」と「usleep()」を続けて記述します。
 

sleep(1);
usleep(500000);

 
 
まぁ、全然難しい話ではないですが、これをズバリ書いている記事に出会えなかったので記事にしてみました。
当たり前すぎて記事にするほどでもないと思われているのかもしれませんが...
 
 

「usleep()」に指定するのは「マイクロ秒」単位

 
「usleep()」に指定できるのは「マイクロ秒」単位です。
 
「usleep(1000000)」が「1秒」となりますので「usleep(500000)」は「0.5秒」となります。
 
また、PHPのオフィシャルサイトにも書いてありますが、「usleep()」で 1秒を超える値を指定した場合の挙動は環境によって異なるようですので、使わない方が無難かと思います。
 
 

参考サイト・PHPオフィシャルサイト

 
今回の記事の内容の参考サイトとして、オフィシャルサイトのリンクを貼っておきます。
あわせて参照してください。
https://www.php.net/manual/ja/function.sleep.php
https://www.php.net/manual/ja/function.usleep.php

 - PHP・Smarty・ECCUBE

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

複数銘柄を指定して株価チャートを一覧するツール公開

入力銘柄の5日間、3か月間、6か月間、1年間、2年間の株価チャートを一覧表示しますのでチャートで売買判断をするのに最適です。

PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある
PHPで月末から1ヶ月後「+1 month」を算出すると想定する日付にならない場合がある

PHPでは月末の1ヶ月後が想定した日付にならない場合がある。原因はバグではなくPHPの1ヶ月後の定義によるもの。なので必要とする日付を定義しそれに合わせてDateTime、modifyを使用して算出方法を解説している。

ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説

ECCUBEを本番から開発環境をコピーする際の手順を解説。PGMメンテに必要な開発環境を構築する手順を解説。ECCUBEの仕組みは簡単なので作業は5分ほど。

ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説

ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。

ECCUBEでアップロードできない。upload_max_filesizeを設定する場所

テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。

配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例
配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例

配列の値を「、」でつないで出力する際、単純にforeachで繰り返し処理をすると「イヌ、サル、キジ、」となるが文字列最後の「、」を出力しない方法を3つ解説している。

乱数発生器(パスワード生成サービス)がバージョンアップで高速化!
乱数発生器(パスワード生成サービス)がバージョンアップで高速化!

乱数やパスワードを生成する乱数発生器を高速化!重複しない10桁、20桁の文字列を10万件、20万件と生成することも可能!イベントのキャンペーンのシリアルコードなどにも利用可能!

PHPで特定の日間の日付を for、strtotimeで表示する

ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。

PHPパーミッション変更のchmod関数・モードを変数で指定する方法

パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。

パーミッション(属性)一括変更ツール・WordPress最適化済

WordPressのパーミッション(属性)を一括変更するツールを作成!ファイル、フォルダのパーミッションが一覧表示でき、ファイルを選んでパーミッションの変更が行えます。