__clone()方法
2015-07-04 16:10
316 查看
<?php class NbaPlayer{ public $name; } $james = new NbaPlayer(); $james->name = 'James'; echo $james->name."<br/>"; $james2 = clone $james; echo "before set up James2's:".$james2->name."<br/>"; $james2->name = 'James2'; echo "James's :".$james->name."<br/>"; echo "James2's:".$james2->name."<br/>";
输出:
James before set up James2's:James James's :James James2's:James2
使用clone后,james2的所有数据都是和james是一样的
这时,在 NbaPlayer 中增加
function __clone() { $this->name="TBD"; }
其它代码不变,则输出为:
James before set up James2's:TBD James's :James James2's:James2
也就是把clone后james2的name的初始值改为TBD,在复制时不想把原有数据的部分都复制过去,就在__clone里面改
相关文章推荐
- ibm学习Groovy的教程
- OJ嘻唰唰之改错题(2)-体检情况分析
- iOS ImageView.contentMode效果介绍
- 【c语言】模拟实现库函数的atof函数
- DrawerLayout
- [leedcode 04]Median of Two Sorted Arrays
- QPushbutton用于发送toggled(bool)的checkable 属性
- web 文件上传组件 Plupload
- 用HTML和javascript(JS)计算触屏手机手指滑动方向的演示
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
- GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考
- __new__方法和__init__方法
- saltstack之nginx部署
- oracle表分区详解
- IOS UIViewController相互传递数据
- Cocos2d-x制作跳棋第二步:工程建立与界面编写
- 黑马程序员——关键字,标识符,注释,常量,变量
- ssh 综合
- Swift中定义二维数组的方法及遍历方法示例
- ping主机在线统计脚本