連想配列のインデックス名を変更する標準のPHP関数はありますか?には、連想配列要素を別の連想配列に転送するための標準的なPHP関数があります。
$a1 = array('one'=>1,'two'=>2,'three'=>3);
$new_index_names = array('one'=>'ono','two'=>'dos','three'=>'tres');
$a2 = change_index_names($a1,$new_index_names);
print_r($a2);
// $a2 should have the index names changed accordingly and look like this:
// array('ono'=>1,'dos'=>2,'tres'=>3)
EDIT 機能は、新しいインデックス名にマッピングを知る必要がありますのでご注意ください。 $ new_index_names配列の意味は、マッピングを提供します。もう一度、 'ono'が 'one'の新しいインデックス名であることを知る必要があります。
EDIT は、私はあなたたちは、独自の解決策を考え出すことができます知っている、私は思っていた、すでにこれを行い、標準のPHPの関数があります。
EDIT
インデックス名を変更することに役立つであろういくつかの状況があります。 1)あなたは、フロントエンドのコードから
あなたのバックエンドのコードを分離できるので、内部/一般名にポスト値の名前を分離します。
2)例えば、投稿から2つの配列があり、 同じ正確なプロセスを実行する必要があります。両方の配列を除いて平均/同じ正確な型が含まれています 値/順序/構造のインデックス名は異なります。したがって、 が関数名/メソッドに渡されるときには、 はその関数/メソッドに渡す前にインデックス名を変換する必要があります。
内部機能を探している理由は何ですか? 'foreach($ a1 $ k => $ v)$ a2 [$ new_index_names [$ k]] = $ v;'は書くほどのコードではありません。 – jh1711
ちょうどそこにコードを書き換える代わりに標準のPHP関数があるのだろうかと思います。 – dave
jh1711 - 実際には、$ new_index_namesで提供されている順序やマッピングは保持されません。 – dave