有没有办法重载equals运算符?
假设我有这段代码:
$variable1 = "a";
$variable1 = "c";
我想在每次向$variable1
分配内容时保存到日志文件,而不必执行以下操作:
$variable1 = "a";
add_to_some_logfile("a");
$variable1 = "c";
add_to_some_logfile("c");
除了将值赋给变量之外,有没有办法覆盖equals运算符以执行其他操作?
答案 0 :(得分:0)
没有。 PHP不支持运算符重载,但有一些例外(如@NikiC所述:“PHP支持重载某些运算符,如[], - >和(字符串),并且还允许重载某些语言结构,如foreach”)。 Piskvor
但在http://pecl.php.net/package/operator中是一个php扩展,运算符重载为:+, - ,*,/,%,<<,>>,。,|,&,^,〜, !,++, - , + =, - =,* =,/ =,%=,<< =,>> =,。=,| =,& =,^ =,〜=, ==,!=,===,!==,<和< =运算符。 有条件支持>和> =应用补丁时可用。