PHP-php的魔术方法__toString()的问题

PHP-php的魔术方法__toString()的问题

归属感 发布于 2017-07-04 字数 394 浏览 1274 回复 2
class A {

private $value;
public function __construct($value)
{
$this->value = $value;
}

public function __toString()
{
return $this->value;
}

}

class B extends A { }
$obj = new B(10);
if($obj==10) {
//逻辑处理
die('1');
}

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

虐人心 2017-08-24 2 楼

有两个问题:
1、__toString()魔术方法需要返回字符串;
2、$obj是个对象,按照比较运算符的运算规则,详见下图:

灵芸 2017-08-05 1 楼

class A {

private $value;
public function __construct($value)
{
$this->value = $value;
}

public function __toString()
{
return (string)$this->value;
}

}

class B extends A { }
$obj = new B(10);
if((string)$obj==10) {
//逻辑处理
die('1');
}

if($obj=='10') {
//逻辑处理
die('1');
}