【问题标题】:PHP overload "=" operatorPHP重载“=”运算符
【发布时间】:2013-04-03 22:22:02
【问题描述】:

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

假设我有这个代码:

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

每次我将某些内容分配给$variable1 时,我都想保存到日志文件中,而不必执行以下操作:

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

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

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

【问题讨论】:

标签: php operator-overloading


【解决方案1】:

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

php overload = operator

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

【讨论】:

    猜你喜欢
    • 2011-11-12
    • 2011-06-24
    • 1970-01-01
    • 2012-12-11
    • 2011-03-07
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    相关资源
    最近更新 更多