次の構造のデータベースからいくつかのデータを取得しました。
[0]
[item_id] = 197
[dice_chat_css] = "foo"
[dice_image] = "bar.png"
[1]
[item_id] = 128
[dice_chat_css] = "foo"
[dice_image] = "bar.png"
このデータを残りの(PHP)アプリケーションに渡すための最も便利で計算コストの低い方法は、item_id
値を検索するために配列をループする必要がないため、インデックスとして使用することです。これがフラット配列の場合、これはで簡単に実行できますが、そうではないため、PHP.netのコメントにリストされてarray_flip
いる多次元array_flipを使用するか、独自のロジックをロールするかを選択します。
for ($i = 0; $i < sizeOf($r); $i++){
$s[$r[$i]['item_id']]['dice_image'] = $r[$i]['dice_image'];
$s[$r[$i]['item_id']]['dice_chat_css'] = $r[$i]['dice_chat_css'];
}
簡単なことは知っていますが、ここで車輪の再発明をしているような気がします。受け入れられ、より最適化された方法が利用可能ですか、それとも私はこれについて奇妙ですか?