如何实现一个耗时的函数或者类的方法多次调用时, 第一次进行运算, 以后再调用这个函数时, 直接返回结果?
<?php 
class MyDate
{
    public static function getCurrentDate()
    {
        static $current_date = '';
        if (!$current_date) {
            echo 'only run one time';
            usleep(200000);
            $current_date  = date('Y-m-d H:i:s');
        }
        return $current_date;
    }
    public static function getCurrentDate2()
    {
        usleep(200000);
        echo 'run everytime';
        return date('Y-m-d H:i:s');
    }
}
$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怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号