升级到PHP 7.0.9后,我的网站出现故障(之前的版本也是7.0.x)。显然,最新更新中的引用有所改变。我通过 call_user_func_array 使用mysqli功能 mysqli_stmt_bind_param ,它需要值作为参考。我在那里使用一个函数将数组从值转换为引用,如下所示:
function refValues($array){
$refArray = array();
foreach($array as $key => $value){
$refArray[$key] =& $array[$key];
}
return $refArray;
}
返回数组时出现问题,因为所有引用都更改回值。事先并非如此,因为它在更新php之前完美运行。临时修复是不使用功能,但我真的不想这样做。有人有什么建议吗?这是最新版本的php中引入的错误,还是我不知道的重大变化?
答案 0 :(得分:1)
将您的功能定义为
function refValues(&$array){
以便您通过引用"传递$ array"否则你的$ refArray引用指向一个仅限于函数
范围内的数组值