ホームページ > 类库下载 > PHP类库 > PHP のちょっとしたトリック

PHP のちょっとしたトリック

高洛峰
リリース: 2016-10-20 13:49:57
オリジナル
1186 人が閲覧しました

時間のかかる関数またはクラスメソッドが複数回呼び出されたときに、初めて操作が実行され、関数が再度呼び出されたときに結果が直接返されることを実現するにはどうすればよいですか?

<?php 

class MyDate
{
    public static function getCurrentDate()
    {
        static $current_date = &#39;&#39;;

        if (!$current_date) {
            echo &#39;only run one time&#39;;
            usleep(200000);
            $current_date  = date(&#39;Y-m-d H:i:s&#39;);
        }

        return $current_date;
    }

    public static function getCurrentDate2()
    {
        usleep(200000);
        echo &#39;run everytime&#39;;
        return date(&#39;Y-m-d H:i:s&#39;);
    }
}

$start = microtime(true);
$i = 5;
while ($i--) {
    MyDate::getCurrentDate();
}
echo microtime(true) - $start;    //200ms

$start = microtime(true);
$i = 5;
while ($i--) {
    MyDate::getCurrentDate2();
}
echo microtime(true) - $start;    //1s
ログイン後にコピー


関連ラベル:
php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート