从call_user_func()调用时,array_pop()需要不推荐使用call-by-reference

时间:2012-03-09 09:03:43

标签: php php-5.3

call_user_func('array_pop', $myarray);

给出'参数1到array_pop()期望为参考,给定值',而

call_user_func('array_pop', &$myarray);

给出'已弃用的呼叫时间传递'。

那我该怎么办?我在Windows上使用“PHP版本5.3.5”,并且不能选择弃用警告。

谢谢!

1 个答案:

答案 0 :(得分:5)

要么直接调用它:

array_pop($myarray);

或者使用call_user_func_array(),它接受​​一系列引用作为参数,而不会对你的呼叫时间传递引用:

call_user_func_array('array_pop', array(&$myarray));

这不会引发关于调用时间传递引用的警告的原因是因为实际上没有发生这种情况。 passing a variable by reference与创建引用数组之间存在细微差别,并按值传递该数组