PHP pass by ref未在主体内部有效使用
我有一个函数,它包含两个参数,如下所示:PHP pass by ref未在主体内部有效使用,php,arrays,reference,Php,Arrays,Reference,我有一个函数,它包含两个参数,如下所示: public function setAssociatedGrants(array &$conversions, array $grants) { foreach ($conversions as $conversion) { foreach ($grants as $grant) { if ($conversion["transaction_histor
public function setAssociatedGrants(array &$conversions, array $grants)
{
foreach ($conversions as $conversion) {
foreach ($grants as $grant) {
if ($conversion["transaction_history_id"] == $grant["external_id"]) {
$conversion["new_key"] = $grant["external_id"];
break;
}
}
}
}
$conversions
和$grants
都是嵌套数组。我需要修改$conversions
的内部数组,但是我得到警告pass by ref没有在body
中有效使用,并且当我返回$conversions
时,新键不在其中。我希望输出中有新的键。如何修复此问题?您需要将用作&$conversion
,否则$conversion
是一个副本。如果通过引用传递数组,为什么要返回它?呜呜。。是的,我是为了调试而退的。我已经编辑了代码,我不想费心回答这个问题,因为它几乎肯定是重复的,但我找不到原件。只需将转换为$conversion
更改为转换为&$conversion