【发布时间】:2012-04-30 08:31:03
【问题描述】:
$g 中存储的结果是 1 和 2。下面我写的以下代码,我的$array['music'] 只存储了最后一个元素,即 2。但我想要的是在下面执行我的 sql 查询 2 次foreach并将$g的值1和2与mu_id匹配(mu_id是另一个表music的列名)并将第1行和第2行的所有行数据存储到$array['music']。
它只存储第二行 (2) 而不是 1,或者在循环内第二次执行时覆盖它。如果有任何逻辑使它起作用,请告诉我。
foreach($genre as $g)
{
echo $g;
echo "<br>";
$array['music'] = $m -> where('mu_id', $g ) -> get();
}
【问题讨论】:
-
什么是 $g?什么是美元?给你的变量起适当的名字,这样它们就更容易理解了。我们不需要再学习我们的 ABC。
-
@Truth:CI Datamapper 文档在所有示例中都使用单字母变量,所以这可能只是复制这些示例。我同意这是一个坏习惯,但在这种情况下,我会假设
$g是“流派”,$m是“音乐”。我也只会使用完整的单词。 -
@madmartigan 我很清楚这一点。我只是在说他不应该自己做,以及在不了解数组基础的情况下盲目复制示例。
-
@Truth:哦,好吧...我会从下一次开始处理...
-
$g 用于流派,$m 用于音乐表(音乐类的对象)。
标签: php arrays foreach codeigniter-datamapper