PHP超载“=”运算符

jdolor 发布于 2019-03-09 php 最后更新 2019-03-09 14:34 0 浏览

有没有办法让等号运算符超载? 假设我有这样的代码:

$variable1 = "a";
$variable1 = "c";
我希望每次将某项内容分配给$variable1时不需要执行如下操作就可以保存到日志文件中:
$variable1 = "a";
add_to_some_logfile("a");
$variable1 = "c";
add_to_some_logfile("c");
有没有一种方法可以重写equals运算符以执行其他操作,而不仅仅是将值赋给变量?
已邀请:

uut

赞同来自:

不.PHP不支持运算符重载,但有一些例外(如@NikiC所述:“PHP支持重载某些运算符,如[], - >和(字符串),并且还允许重载某些语言结构,如foreach”) .Piskvor php overload = operator 但在http://pecl.php.net/package/operator是一个php扩展,运算符重载为:+, - ,*,/,%,<<,>>,。,|,&,^,~,!,++, - ,

  • =, - =,* =,/ =,%=,<< =,>> =,。=,| =,& =,^ =,~=, ==,!=,===,!==,<和< =运算符。 有条件支持>和> =可以应用补丁。