我不确定标题应该是什么,但代码应该更好地解释它:
class Group {
private $number = 20;
public function __toString() {
return "$this->number";
}
}
$number = new Group();
echo $number, PHP_EOL;
echo ++ $number, PHP_EOL;
echo PHP_EOL;
$number = "20";
echo $number, PHP_EOL;
echo ++ $number, PHP_EOL;
echo PHP_EOL;
$number = 20;
echo $number, PHP_EOL;
echo ++ $number, PHP_EOL;
输出:
20
20 <--- Expected 21
20
21
20
21
知道为什么我得到了20
而不是21
吗?即使这样,下面的代码仍然有效:
$i = null ;
echo ++$i ; // output 1
我知道Group
是一个实现的对象__toString
,我希望使用来自或至少++
使用的字符串__toString
throw an error