$g
に格納された結果は1と2です。以下のコードは私が書いたものですが、私の$array['music']
は最後の2の要素しか保存しません。 SQLクエリをforeachの下で2回実行し、$g
の値が1と2の値をmu_id
(mu_id
は別のテーブルmusic
の列名)と一致させ、行1と2のすべての行データを$array['music']
に格納します。配列はPHPの最後の要素によって上書きされます
2番目の行(2)は1ではなく、2番目のループで実行しているときに上書きしています。それを動作させるロジックがあれば教えてください。あなたはそれに追加するのではなく、配列全体たびに再宣言している
foreach($genre as $g)
{
echo $g;
echo "<br>";
$array['music'] = $m -> where('mu_id', $g) -> get();
}
$ gとは何ですか? $ mとは何ですか?あなたの変数に適切な名前を付けると、従うのが簡単になります。 ABCをもう一度学ぶ必要はありません。 –
@Truth:CI Datamapperのドキュメントでは、すべての例で1文字変数を使用しているので、おそらくこれらの例をコピーしているだけです。私はそれが悪い習慣であることに同意するが、この場合、「$ g」は「ジャンル」であり、「$ m」は「音楽」であると仮定する。私はまた、完全な言葉を使用します。 –
@madmartigan私はそれをよく知っています。私は、配列の基本を理解することなく、盲目的に例をコピーするだけでなく、自分でそれを行うべきではないということを述べています。 –