为什么这个php语句$var1 += & $var2
错了?
对评论的回应:我用它来存储智能数据库查询,实际上$ var2是我的数据库连接,我不能删除引用,因为这意味着要创建我的数据库的太多副本,对于按位响应&=
也会做增量吗?
答案 0 :(得分:6)
从手册:
PHP中的引用是一种通过不同名称访问相同变量内容的方法。它们不像C指针;例如,您不能使用它们执行指针运算,它们不是实际的内存地址,依此类推。相反,它们是符号表别名。请注意,在PHP中,变量名称和变量内容是不同的,因此相同的内容可以具有不同的名称。
您无法添加对某些内容的引用,这就是您的代码无效的原因。
由于&
在PHP中有两个含义,并且从您的问题中不清楚,这里有两种修复代码的可能性,具体取决于您尝试做的事情。
如果您想将引用的值添加到$var1
:
$var2 = &$reference; // whatever it's supposed to be a reference to
$var1 += $var2;
如果您想快捷bitwise and:
$var1 &= $var2;
答案 1 :(得分:0)
&
表示通过引用传递变量。它用于功能签名。
此外,这只会产生语法错误。
答案 2 :(得分:0)
很抱歉让你失望,但我的问题的正确答案是我的连接正在返回一个数组,并且不允许进行操作。很抱歉没有分享我的所有代码,这一定是误导了你......
答案 3 :(得分:-3)
你有两个彼此相邻的运营商尝试:
$var1 = $var1 + ($var1 & $var2)