备忘模式

<?php

/**
 * 备忘模式
 * 即将函数的计算结果缓存,缓存计算量大的计算结果,避免重复计算。提高程序效率。
 *
 * 备忘求阶乘
 */
function memo_func($n) {
    static $cache = array();
    $selfName = __FUNCTION__;
    if ($n<=1) {
        return $cache[md5($n)] = 1;
    } else {
        return $cache[md5($n)] = $n*$selfName($n-1);
    }
}


for ($i=5; $i<100; $i++) {
    echo memo_func($i),"
";
}
原文地址:https://www.cnblogs.com/mtima/p/3187585.html