



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第PHP单例模式模拟JavaBean实现方法示例本文实例讲述了PHP单例模式模拟JavaBean实现方法。分享给大家供大家参考,具体如下:
问题:
根据如下杨辉三角形
实现一个get_value($row,$col)方法:
(前一个由于代码是手机编辑的,很乱,重新发下)只是为了实现这个方法,很简单,几行代码就能实现,但如果行和列的值稍微大点,你就发现,运行时间很长。所以就这次的题做了个稍微复杂点的例子,说明下单例模式的使用、static的使用、模拟JavaBean、static的使用、递归函数案例等。
*authorWinter
*2016-11-22
*PHP的单例模式
*模拟JavaBean
*ClassPhp_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-
publicstaticfunctioninstance(){
if(self::$_instanceinstanceofself)returnself::$_instance;
self::$_instance=newself;
returnself::$_instance;
*@param$row行
*@param$col列
*@returnint
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相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 15470.3-2025家用直接作用式房间电加热器性能测试方法第3部分:辐射效率测量的附加规定
- 棋谱仓库文员培训总结
- 三违安全知识培训
- 新生儿红臀的预防与护理常规考核试题
- 城市交通规划合同终止咨询重点基础知识点
- 轧钢厂租赁合同协议
- 辅导机构学员协议合同
- 暂时离职协议书
- 智联招聘协议书
- 健康养生服务提供协议
- 投顾服务方案
- 工程师转正汇报课件
- 语法知识-2022-2023学年八年级语文上学期期中考前复习训练(解析版)
- 水利工程中的水环境保护与生态修复
- 高一数学组尖子生培养计划(修改)
- 医疗器械辐射安全管理的要求
- 自动按频率减负荷装置
- 6朗诵《唐诗里的中国》朗诵稿
- 停车场运营维护管理投标方案(技术标)
- 工业硅行业可行性研究报告
- 水生态修复与保护概述
评论
0/150
提交评论