有没有办法在PHP中实现对象到数字的转换?
有一个方便的魔术函数__toString()可以将对象转换为字符串,但是如何将对象转换为数字呢?
使用示例:
<?php
class Foo
{
/**
* @var float
*/
private $factor;
public function __construct(float $factor)
{
$this->factor = $factor;
}
}
$foo = new Foo(1.23);
$boo = 2;
$result = $foo*$boo;
//wanted output 2.46
echo $result;
该代码生成 PHP 通知(PHP 7.3)
Foo 类的对象无法转换为数字
在PHP的魔术方法列表没有任何__toNumber()方法,但也许有一个解决方法是什么?显然,除了使用 getter 之外,例如:
getFactor() : float
{
return $this->factor;
}
你有什么主意吗?
手掌心
DIEA