什么是& PHP中的前缀?

时间:2011-03-27 17:47:29

标签: php

  

可能重复:
  Reference - What does this symbol mean in PHP?

以下代码的第三行在我的本地环境中运行良好,但在生产服务器上返回错误。

&前缀是什么意思,为什么它在我的生产服务器上返回错误?

以下是我的代码;

function add_real_escape_string($value) {
    if (is_array($value)) {
        foreach($value as &$item) {
            $item = add_real_escape_string($item);
        }
    } else {
        if (get_magic_quotes_gpc()) {
            $value = stripslashes($value);
        }
        $value = mysql_real_escape_string($value);
    }
    return $value;
}

返回的错误是:

  

解析错误:语法错误,意外'&',在第345行的init.php中期待T_VARIABLE或'$'

6 个答案:

答案 0 :(得分:4)

它基本上是通过引用分配。

可以在php手册中找到更多相关内容here

答案 1 :(得分:3)

&表示它传递引用而不是副本,这意味着您对该对象所做的所有更改也将反映在其使用范围之外。有关详细信息,请参阅http://php.net/manual/en/language.references.pass.php

要解释错误,我们必须知道你得到了什么错误。你介意为我们粘贴吗?

答案 2 :(得分:2)

&& prefix是一个引用运算符。它是继承自C等低级语言的原则。它意味着不要将变量的副本提供给函数或循环运算符等,而是要求PHP在内存中传递其地址。这样,引用给出的变量只在内存中声明一次。更多,您可以对其执行每个典型的变量操作......

您还可以检查Pointers,它是从C继承的引用的祖先。

答案 3 :(得分:1)

当您使用&为变量添加前缀时,这意味着您正在抓取该变量的引用。

例如,您可以通过reference.

答案 4 :(得分:1)

答案 5 :(得分:1)

用于通过引用传递变量,这意味着如果在函数内更改它,它将更改从外部传递的变量。