toString()以及__toString()
来源:互联网 发布:知乎内容推送到kindle 编辑:程序博客网 时间:2024/05/23 11:12
function __toString()
{
return $this->content;
}
//输出字符串
function toString()
{
return $this->content;
}
内容是一样,不知道前面那两个特殊的下划线有什么意义,是同一个类中的两个方法?
回答:
执行的结果相同. 区别在于,
前一个是魔术函数, 在需要字符串值的地方会自动调用它进行对象的类型转换.
后一个需要在代码中明确调用才有机会执行.
实例
class MyClass
{
public function __toString()
{
return 'call __toString()';
}
public function toString()
{
return 'call toString()';
}
}
$my = new MyClass();
echo $my . '<br />'; //自动调用(隐式)__toString转成string
echo $my->toString() . '<br />'; //调用(显式)toString去转成string
echo $my->__toString() . '<br />'; //如果这样调用, 代码会不好看
echo (string)$my . '<br />';
__toString()会在需要转成字符串时, 会隐式自动调用它, 在PHP内部. 这个也是来自JAVA的. 建议在__toString()中调用toString(), 这样就不会代码重复了.
- toString()以及__toString()
- PHP中__tostring 与 tostring的区别
- 关于C#类中重写ToString方法和PHP类中__tostring()方法的比较
- 重写toString以及equals方法
- __toString()方法
- __tostring方法
- __toString()方法
- __toString()方法
- __toString()方法
- __toString()方法
- __toString方法
- java toString()方法以及重写的意义
- ToString()
- ToString
- ToString()
- toString
- tostring
- toString
- ORACLE EBS 计划功能 理论整理
- 实现CCLayer只显示一个矩形可见区域
- 在一个事务里有多条更新如何从Undo查找前镜像
- Redis的master/slave复制(主从复制)
- adb 常用命令
- toString()以及__toString()
- Ubuntu 12.04 改造指南
- 改写IKAnalyzer分词器
- 11个在线编码大赛
- hadoop部署错误集锦
- php发送get、post请求的几种方法
- android横竖屏切换(复制未整理)
- oracle 导入DMP文件时IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入
- 内存管理篇1