- ベストアンサー
二つの配列を一つにまとめる(sqlでいうjoin)
データベースから別々に取得したデータを一つにまとめる方法で、 今やってるのはなんだか冗長な感じでいけてない気がするのですが、 ほかの方法が思いつかないので投稿いたしました。 $artist と $music に music_id というカラムがあって、これが一致するものだけを取得する。 以下今やってる方法。 foreach ($artist as $key => $value) { $flg = false; foreach ($music as $k => $v) { if($value["music_id"] == $v["music_id"]) { $flg = true; break; } if ($flg) { $data[] = $value; } } } やっぱりなんだかいけてないですねーorz いい方法を教えてください!
お礼
ありがとうございます!! >ソースの華麗さはともかくforeachの2重Loopは処理のオーダーを考えるとしたくないと思うので(データが多ければ多いほど・・ですね)。 そうなんですよね・・・。 一応このように作った場所もあるんですが、分けると見づらいと思って 大部分は最初に書いたように2重Loopにしちゃってるんですよ。 でも、それはそれで結局見づらいというダメダメLoop・・・。