用php调用时间引用问题

时间:2009-10-29 09:07:12

标签: php reference

function get_arr($arr)
{
    unset($arr[0]);
}
$arr1 = array(1,2);
$arr2 = array(1,2);

get_arr(&$arr1);
get_arr($arr2);
echo count($arr1);
echo count($arr2);

我得到了:

  

警告:呼叫时间传递参考   已被弃用;如果你愿意   通过引用传递它,修改   get_arr()的声明。如果你   想要启用通话时间   传递参考,你可以设置   allow_call_time_pass_reference为true   在您的INI文件中

但输出是:

12

这意味着通话时间参考生效。

为什么这两个地方输出矛盾信息?

4 个答案:

答案 0 :(得分:3)

不推荐并不意味着不起作用,只是不推荐。

答案 1 :(得分:1)

调用时传递引用已弃用,这意味着它不应再被使用,并且可能无法在将来的PHP版本中使用。这并不意味着它不起作用。

答案 2 :(得分:0)

这是一个警告。

它只是警告你,但同时相信你知道你在做什么。

答案 3 :(得分:0)

混淆的根源是错误消息含糊不清,应该读取“摆脱此警告,将allow_call_time_pass_reference设置为true”而不是“启用调用时间传递引用”。