エス技研

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()」を続けて記述します。
 

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

「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

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

フォルダを指定してファイルのパーミッションを変更するプログラム

フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。

PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方

PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。

PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法

PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!

ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入

標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。

PHPで正規表現の検証には preg_match_allが便利

PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。

指定した数で文字列を丸める関数substr、mb_substr、mb_strimwidthの違い
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い

文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。

GMOペイメントゲートウェイのjava.io.IOExceptionのエラー

ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。

ECCUBEの注文完了画面注文番号と商品情報を編集するCRITEO(クリテオ)タグを編集

ECCUBEの注文完了画面にクリテオのタグを編集する方法を紹介。標準機能では完了画面に注文IDや購入商品の情報を渡さないため改修が必要です。

PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う
PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う

PHPには日時をオブジェクトとして生成する関数「DateTimeImmutable」「DateTime」が用意されている。これを利用して1ヶ月後、月初日、月末日、5日後などを指定して日付を取得できる。

AdminerはphpMyAdmin代替のデータベース管理ツール

AdminerはphpMyAdminとほぼ同機能のデータベース管理ツール。PHP 1ファイルのため設置が非常に簡単で軽快に動作し、phpMyAdminの置き換えで使うのも問題なし。