以下代码的第三行在我的本地环境中运行良好,但在生产服务器上返回错误。
&
前缀是什么意思,为什么它在我的生产服务器上返回错误?
以下是我的代码;
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或'$'
答案 0 :(得分:4)
它基本上是通过引用分配。
可以在php手册中找到更多相关内容here!
答案 1 :(得分:3)
&表示它传递引用而不是副本,这意味着您对该对象所做的所有更改也将反映在其使用范围之外。有关详细信息,请参阅http://php.net/manual/en/language.references.pass.php。
要解释错误,我们必须知道你得到了什么错误。你介意为我们粘贴吗?
答案 2 :(得分:2)
您还可以检查Pointers,它是从C继承的引用的祖先。
答案 3 :(得分:1)
当您使用&
为变量添加前缀时,这意味着您正在抓取该变量的引用。
例如,您可以通过reference.
答案 4 :(得分:1)
答案 5 :(得分:1)
用于通过引用传递变量,这意味着如果在函数内更改它,它将更改从外部传递的变量。