PHP重载“=”运算符

时间:2013-04-11 16:03:17

标签: php operator-overloading

有没有办法重载equals运算符?

假设我有这段代码:

$variable1 = "a";
$variable1 = "c";

我想在每次向$variable1分配内容时保存到日志文件,而不必执行以下操作:

$variable1 = "a";
add_to_some_logfile("a");

$variable1 = "c";
add_to_some_logfile("c");

除了将值赋给变量之外,有没有办法覆盖equals运算符以执行其他操作?

1 个答案:

答案 0 :(得分:0)

没有。 PHP不支持运算符重载,但有一些例外(如@NikiC所述:“PHP支持重载某些运算符,如[], - >和(字符串),并且还允许重载某些语言结构,如foreach”)。 Piskvor

php overload = operator

但在http://pecl.php.net/package/operator中是一个php扩展,运算符重载为:+, - ,*,/,%,<<,>>,。,|,&,^,〜, !,++, - , + =, - =,* =,/ =,%=,<< =,>> =,。=,| =,& =,^ =,〜=, ==,!=,===,!==,<和< =运算符。 有条件支持>和> =应用补丁时可用。