<?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)," "; }