为什么我会收到语法错误?

时间:2010-10-14 14:58:16

标签: php

为什么这个php语句$var1 += & $var2错了?
对评论的回应:我用它来存储智能数据库查询,实际上$ var2是我的数据库连接,我不能删除引用,因为这意味着要创建我的数据库的太多副本,对于按位响应&=也会做增量吗?

4 个答案:

答案 0 :(得分:6)

在您的陈述中,

&reference operator

从手册:

  

PHP中的引用是一种通过不同名称访问相同变量内容的方法。它们不像C指针;例如,您不能使用它们执行指针运算,它们不是实际的内存地址,依此类推。相反,它们是符号表别名。请注意,在PHP中,变量名称和变量内容是不同的,因此相同的内容可以具有不同的名称。

您无法添加对某些内容的引用,这就是您的代码无效的原因。

由于&在PHP中有两个含义,并且从您的问题中不清楚,这里有两种修复代码的可能性,具体取决于您尝试做的事情。

  1. 如果您想将引用的值添加到$var1

    $var2 = &$reference; // whatever it's supposed to be a reference to
    $var1 += $var2;
    
  2. 如果您想快捷bitwise and

    $var1 &= $var2;
    

答案 1 :(得分:0)

&表示通过引用传递变量。它用于功能签名。

此外,这只会产生语法错误。

答案 2 :(得分:0)

很抱歉让你失望,但我的问题的正确答案是我的连接正在返回一个数组,并且不允许进行操作。很抱歉没有分享我的所有代码,这一定是误导了你......

答案 3 :(得分:-3)

你有两个彼此相邻的运营商尝试:

$var1 = $var1 + ($var1 & $var2)