PHP使用类“单例”静态变量提高效率

来源:互联网 发布:拓思软件 编辑:程序博客网 时间:2024/05/24 01:25

再多次需要使用一个变量的时候,我们可以使用类的静态变量来保存这个值,避免多次调用,多次计算导致效率下降!

<?phpclass TestExplame{public static $myName;public static function setMyName(){self::$myName = self::getMyNumberName();}public static function getMyNumberName(){$sum = 0;for($i = 0; $i<10000; $i++){$sum +=  $i;}return "telmer_$sum";}public static function getAllOfName($number){$count = 0;$nameArray = array();while($count < $number){$nameArray[$count] = "telmer_$count" . self::getMyNumberName();$count++;}return $nameArray;}}


//如果我们使用如下方式调用,将会产生一大堆效率问题

require_once "test.php";TestExplame::getAllOfName(8000);

这个大概计算了一下接近15秒左右;
而如果我们将代码变化一下,如下:时间会成为多少呢?

class TestExplame{public static $myName;public static $numberName;public static function getstaticNumberName(){if(isset(self::$numberName)){return self::$numberName;}self::$numberName = self::getMyNumberName();return self::$numberName;}public static function setMyName(){self::$myName = self::getMyNumberName();}public static function getMyNumberName(){$sum = 0;for($i = 0; $i<10000; $i++){$sum +=  $i;}return "telmer_$sum";}public static function getAllOfName($number){$count = 0;$nameArray = array();while($count < $number){$nameArray[$count] = "telmer_$count" . self::getstaticNumberName();$count++;}return $nameArray;}}

再次来执行一次这个结果查看一下时间

require_once "test.php";TestExplame::getAllOfName(8000);

测试了一下1秒之内就可以完成!
上面的例子有点类似于单例设计模式,但是这个并非是单例。
以上主要方法是添加了一个getstaticNumberName方法,主要作用就是判断这个频繁使用的变量是否存在,如果存在则直接返回,就避免多次去计算该结果(该结果是保持不变的,如果有变化这样是行不通的)。
因此在编程的时候,大家应该多考虑一下效率问题!像这种频繁使用的变量,同时计算起来又比较耗时的运算,我们可以尝试使用静态变量保存,以便二次使用。

	
				
		
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四岁宝宝吐字不清楚怎么办 孕28周胎儿腿短怎么办 b超显示腿短怎么办 2岁多宝宝不愿意说话怎么办 6岁儿童咬字不清怎么办 两岁宝宝爱看电视怎么办 两岁宝宝喜欢看电视怎么办 三岁宝宝说话不清晰怎么办 儿子快四岁了说话不清楚怎么办 儿子快三岁了说话不清楚怎么办 2岁宝宝受刺激了怎么办 一岁的宝宝口臭怎么办 古话说小孩牙齿掉了怎么办 宝宝三岁胆子小怎么办 小宝宝就是不愿意学说话怎么办 2岁宝宝体重偏重怎么办 三岁宝宝体重偏重怎么办 3岁宝宝说话晚怎么办 孩子吃饭总说话吃饭慢怎么办 我的孩子不聪明怎么办 小孩个子长不高怎么办 晚修自己老喜欢讲话怎么办 宝2岁宝脾气大怎么办 宝宝比同龄孩子发育晚怎么办 早教机构业绩不好怎么办 孩子上早教课哭怎么办 两岁宝宝哭闹不止怎么办 7个月宝宝怕生疏怎么办 5个月宝宝怕洗澡怎么办 4个月宝宝认人怎么办 2岁宝宝语言迟缓怎么办 宝宝老是哭闹不睡觉怎么办 7岁儿童说话晚怎么办 一岁多的婴儿说话晚该怎么办 宝宝甲低300多怎么办 两岁半宝宝还不怎么会讲话怎么办 宝宝两岁半了还不讲话怎么办 两岁宝宝怕生人怎么办 四岁宝宝不说话怎么办 1岁宝宝牙齿黄斑怎么办 儿子俩周半了就是不说话怎么办