エス技研

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で1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う
PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う

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

cURLを利用する際の注意点「&」があるURLは「"」で囲む
cURLを利用する際の注意点「&」があるURLは「」で囲む

cURLでURLはダブルクォーテーションで囲む。LinuxでもWindowsでもコマンドでは「&」は意味を持つ文字のためエラー原因になる。クォーテーションは常につけておく方が無難。

連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説
連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説

PHPの配列・連想配列のキーと値をまとめてhtmlspecialchars()関数でサニタイズ(無害化、無毒化)を行う関数を作成。連想配列のキーはarray_map()関数でのサニタイズは無理。

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

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

QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)作成サービスを公開

QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。

WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う
WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う

strptimeはWindowsのPHPには未実装。LinuxとMacで挙動が異なる。PHP8.1で非推奨になる。なので日付のチェックはdate_parse_from_formatを使おう。使い方を詳細解説。

PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法

「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。

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

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

Basic認証の.htaccess、.htpasswd生成ツールと解説

Basic認証を設定する際に必要となる.htaccess、.htpasswdファイルを生成するツール。ID、PASS、.htpasswdへのパスを入力することで編集する情報を生成します。

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

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