我想用存儲在$aKeyNames
中的文本等效替換$aValues
中的所有數字鍵。使用另一個陣列中的值更新所有陣列鍵
$aKeyNames = array(0 => 'foo', 1 => 'bar');
$aValues = array(0 => 'foo content', 1 => 'bar content');
期望的輸出;
$aValues = array('foo' => 'foo content', 'bar' => 'bar content');
爲了達到這個目的,我寫了下面的工作代碼;
foreach ($aValues as $iPos => $aValue) {
$aValues[ $aKeyNames[$iPos] ] = $aValue;
unset($aValues[$iPos]);
}
我的問題是,$aValues
是非常大的。有沒有更有效的方法來實現這一目標?
您的解決方案似乎不錯,因爲你要替換由其他陣列中的同一個鍵的值的關鍵。你可以使用'array_combine()',但你必須確保兩個數組排序相同,所以鍵的順序是一樣的。 – Rizier123
如果兩個數組中都有相同的鍵,array_combine就是最好的方法。看看http://php.net/manual/en/function.array-combine.php –
謝謝你的評論,我剛剛意識到我發佈的錯誤,我只是在更新的問題上工作 – atoms