如何实现一个耗时的函数或者类的方法多次调用时, 第一次进行运算, 以后再调用这个函数时, 直接返回结果?
<?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
一个小技巧能提高不少性能
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。