我有两个数组,都具有相同的索引。我想要做的是循环访问一个数组(portConfigArray),并使用第二个数组中的数据更改现有项目的值。 (portStatusArray) 这里的逻辑:试图通过数组循环并重新分配值
$i=0;
foreach ($portConfigArray as $configentry)
{
$configentry['LinkState'] = $portStatusArray[$i]['LinkState'];
$i = $i + 1;
echo $configentry['LinkState'];
}
$portdetailsArray = $portConfigArray;
var_dump($portdetailsArray);
回波语句显示被分配为在portConfigArray每个项的正确的值。 (它只是一个字符串值,如“Up”或“Down”) 但是在var_dump中,我可以看到该值没有被正确更新。它显示
["LinkState"]=> string(0) ""
作为每个记录的输出。
你能告诉我我做错了什么吗?
这可能会炸毁你,因为$ configentry将保留一个引用,直到你unset()它或脚本结束。如果您稍后在脚本中重复使用$ configentry,您将会更改您foreach的最后一个元素,这可能会导致严重的混淆。 –
同意。使用引用时,你应该始终勤奋。 –