我遇到错误的问题
PHP 致命错误:调用时传递引用已在...中删除
我发现了一些类似的问题,例如
但是没有什么能提供真实的答案如何解决您需要将传递的值声明为运行时引用的情况,例如您无法更改函数声明的内置函数?
例如,对于这个例子,第三个 array_walk 参数作为参考:?
我尝试使用此解决方案通过以下代码更改数组的索引:
function __reindex(&$v,$k, &$aReindexed)
{
$kNew = $k+100;
$aReindexed[$kNew] = $v;
}
$aTest = array(4,"f","_","test");
array_walk($aTest,"__reindex", &$aReindexed );
没有引用的代码不起作用(新数组未更改并保持为空)。
并且带有它的引用的代码有效,但不适用于 php 5.4 及更高版本。
那么处理这种情况的方法是什么?
ps 如果有人喜欢说“将 __reindex 函数中的 $k 变量声明为引用”,那么这将不起作用(这是我尝试的第一种方法)