の数値キーを$aKeyNames
に保存されているテキストの同等物に置き換えたいと思います。他の配列の値を使ってすべての配列キーを更新する
$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