1.当你echo一个对象时,例如:
<?php class Account{
public $user = 1;
private $pwd = 2;
}
$a = new Account();
echo
$a;
这样会报错,因为echo不支持输出对象,因为echo只支持输出数字和字符串。
如果在里面加入__toString()方法,也必须要显示的加入,不然无法输出对象,如下:
public function __toString() {
return "当前对象的用户名是$this->user,密码是$this->user";
}
那么这个对象就可以被echo了,因为输出对象时,系统会自动找到__toString()方法,将对象转化为字符串,而且这个方法必须有返回值,如果没有返回值的话,就不知道最终转化的字符串是什么,也就不知道最终输出什么东西,会报错,返回值就是最终的输出值。