2

有没有办法重载等于运算符?

假设我有这个代码:

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

每次我分配一些东西时,我都想保存到一个日志文件中,$variable1而不必执行以下操作:

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

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

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

4

1 回答 1

0

不。PHP 不支持运算符重载,但有一些例外(如 @NikiC 所述:“PHP 支持重载某些运算符,例如 []、-> 和 (string),还允许重载某些语言结构,例如 foreach”) .皮斯克沃尔

php 重载 = 运算符

但在http://pecl.php.net/package/operator是一个 php 扩展,运算符重载为:+、-、*、/、%、<<、>>、.、|、&、^、~、 !, ++, --, +=, -=, *=, /=, %=, <<=, >>=, .=, |=, &=, ^=, ~=, ==, ! =、===、!==、< 和 <= 运算符。对 > 和 >= 的条件支持可通过应用补丁获得。

于 2013-04-11T16:13:48.313 回答