我有兩個數組,都具有相同的索引。我想要做的是循環訪問一個數組(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的最後一個元素,這可能會導致嚴重的混淆。 –
同意。使用引用時,你應該始終勤奮。 –