Warning: Call-time pass-by-reference has been deprecated

解释下allow_call_time_pass_reference这个参数的含义(参看手册) 在函数调用时参数被按照引用传递时是否发出警告。此方法已不被赞成并在 PHP/Zend 未来的版本中很可能不再支持。鼓励使用的方法是在函数定义中指定哪些参数应该用引用传递。鼓励大家尝试关闭此选项并确保脚本能够正常运行,以确保该脚本也能在未来的版本中运行(每次使用此特性都会收到一条警告)。 在函数调用时通过引用传递参数是不推荐的,因为它影响到了代码的整洁。如果函数的参数没有声明作为引用传递,函数可以通过未写入文档的方法修改其参数。要避免其副作用,最好仅在函数声明时指定那个参数需要通过引用传递。
function foo(&$var)//这是没问题的
{
    $var++;
}

$a=5;
foo($a);
// $a is 6 here

function foo($var)
{
    $var++;
}

$a=5;
foo(&$a);//出现Warning: Call-time pass-by-reference has been deprecated
在php.ini中将allow_call_time_pass_reference = Off 变成 allow_call_time_pass_reference = On就不会出现这个Warning了。

你可能感兴趣的:(PHP)