PHP單例模式模擬Java Bean實現方法示例詳解
實例講述了PHP單例模式模擬Java Bean實現方法,介紹PHP單例模式模擬Java Bean實現方法,涉及php面向對象程序設計相關操作技巧,需要的朋友可以參考下。...
文章主要介紹了PHP單例模式模擬Java Bean實現方法,涉及php面向對象程序設計相關操作技巧,需要的朋友可以參考下。
實例講述了PHP單例模式模擬Java Bean實現方法,具體如下:
問題:
根據如下楊輝三角形

實現一個get_value($row,$col)方法:
(前一個由于代碼是手機編輯的,很亂,重新發下)只是為了實現這個方法,很簡單,幾行代碼就能實現,但如果行和列的值稍微大點,你就發現,運行時間很長。所以就這次的題做了個稍微復雜點的例子,說明下單例模式的使用、static的使用、模擬Java Bean、static的使用、遞歸函數案例等。?
/*** author Winter* 2016-11-22* PHP的單例模式* 模擬Java Bean* Class Php_bean*/classPhp_bean{privatestatic$_instance= null;privatefunction__construct(){}private$hit= 0;//命中次數private$array=array();//緩存private$itratorCount= 0;//迭代次數publicfunctionadd_itratorCount(){$this->itratorCount ++;}publicfunctionget_itratorCount(){return$this->itratorCount;}publicfunctionset_cache($row,$col,$value){$this->array[$row."_".$col] =$value;}publicfunctionget_cache($row,$col){if(isset($this->array[$row."_".$col])){return$this->array[$row."_".$col];}else{returnfalse;}}publicfunctionadd_hit(){$this->hit ++;}publicfunctionget_hit(){return$this->hit;}publicstaticfunctioninstance(){if(self::$_instanceinstanceofself)returnself::$_instance;self::$_instance=newself;returnself::$_instance;}}/*** @param $row 行* @param $col 列* @return int*/functionget_value($row,$col){$php_bean= Php_bean::instance();$php_bean->add_itratorCount();if($col>$row)return0;if($row<=0)return0;if($col==$row)return1;if($row== 1)return1;if($col== 1)return1;$pre=$php_bean->get_cache($row-1,$col-1);$next=$php_bean->get_cache($row-1,$col-0);if($pre=== false){$pre= get_value($row-1,$col-1);$php_bean->set_cache($row-1,$col-1,$pre);}else{$php_bean->add_hit();}if($next=== false){$next= get_value($row-1,$col-0);$php_bean->set_cache($row-1,$col-0,$next);}else{$php_bean->add_hit();}$value=$pre+$next;return$value;}$v= get_value(6,6);var_dump($v);$php_bean_obj= Php_bean::instance();echo"hit:".$php_bean_obj->get_hit()."<br/>";echo"itratorCount:".$php_bean_obj->get_itratorCount()."<br/>";
運行結果:
int(1) hit:0
itratorCount:1
希望PHP單例模式模擬Java Bean實現方法示例詳解所述對大家PHP程序設計有所幫助。
PHP圖像處理繪圖、水印、驗證碼、圖像壓縮技術實例總結
文章主要介紹了PHP圖像處理技術,結合實例形式總結分析了php繪圖、水印、驗證碼、圖像壓縮等相關函數、功能與圖形繪制實現技巧,需要的朋友可以參考下:1、繪圖 場景:...
PHP實現高清晰度無損圖片壓縮功能的代碼
經常會用到把上傳的大圖片壓縮,特別是體積,在微信等APP應用上,也默認都是有壓縮的,那么,怎么樣對圖片大幅度壓縮卻仍能保持較高的清晰度呢?...
用PHP處理png圖片白色背景色改為透明色的實例代碼
文章主要介紹了php 處理png圖片白色背景色改為透明色的實例代碼,文中通過實例代碼給大家介紹了用PHP的GD庫把圖片的背景替換成透明背景,需要的朋友參考下...
關于PHP往mysql數據庫中批量插入數據實例教程
文章主要給大家介紹了關于php往mysql中批量插入數據的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧...
Php兩點地理坐標距離的計算方法和具體代碼
文章主要為大家詳細介紹了php兩點地理坐標距離的計算方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下php計算兩點地理坐標距離的具體代碼,具體內容如下功能:根據圓周率和...
PHP獲取HTTP body內容的方法
今天小編就為大家分享一篇PHP獲取HTTP body內容的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧有時候我們獲取數據時需要根據Header中的格式來解析,比...
PHP面向對象程序設計中獲取對象屬性的3種方法實例分析
文章主要介紹了PHP獲取對象屬性的三種方法,結合實例形式分析了php面向對象程序設計中獲取對象屬性的常見操作技巧,需要的朋友可以參考下。PHP獲取對象屬性的三種方法,具體如下...
php5.5新增的yield關鍵字功能與相關使用技巧
文章主要介紹了PHP yield關鍵字功能與用法,結合實例形式分析了php5.5新增的yield關鍵字功能與相關使用技巧,需要的朋友可以參考下實例講述PHP yield關鍵字功能與用法具體如下:y...
Windows7下IIS+php配置教程詳細介紹
文章主要為大家詳細介紹了Windows7下IIS+php配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下...
PHP序列化的四種實現方法與橫向對比教程
在PHP中,序列化用于存儲或傳遞 PHP 的值的過程中,同時不丟失其類型和結構。本文講述PHP序列化的四種方案,感興趣的可以了解一下一、PHP 序列化變量的 4 種方法序列化是將變量轉...

